<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/soc/ti, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-12-29T12:42:36Z</updated>
<entry>
<title>drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe</title>
<updated>2020-12-29T12:42:36Z</updated>
<author>
<name>Zhihao Cheng</name>
</author>
<published>2020-11-22T03:22:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=99c367e8b6ca847dd05306322319dfce946a6245'/>
<id>urn:sha1:99c367e8b6ca847dd05306322319dfce946a6245</id>
<content type='text'>
[ Upstream commit 4cba398f37f868f515ff12868418dc28574853a1 ]

Fix to return the error code from of_get_child_by_name() instaed of 0
in knav_queue_probe().

Fixes: 41f93af900a20d1a0a ("soc: ti: add Keystone Navigator QMSS driver")
Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: Zhihao Cheng &lt;chengzhihao1@huawei.com&gt;
Signed-off-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: ti: Fix reference imbalance in knav_dma_probe</title>
<updated>2020-12-29T12:42:36Z</updated>
<author>
<name>Zhang Qilong</name>
</author>
<published>2020-11-22T03:22:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1560a7447f7c15020ea1dd840f8c3ec1f7944eed'/>
<id>urn:sha1:1560a7447f7c15020ea1dd840f8c3ec1f7944eed</id>
<content type='text'>
[ Upstream commit b4fa73358c306d747a2200aec6f7acb97e5750e6 ]

The patch fix two reference leak.

  1) pm_runtime_get_sync will increment pm usage counter even it
     failed. Forgetting to call put operation will result in
     reference leak.

  2) The pm_runtime_enable will increase power disable depth. Thus
     a pairing decrement is needed on the error handling path to
     keep it balanced.

We fix it by: 1) adding call pm_runtime_put_noidle or
pm_runtime_put_sync in error handling. 2) adding pm_runtime_disable
in error handling, to keep usage counter and disable depth balanced.

Fixes: 88139ed030583 ("soc: ti: add Keystone Navigator DMA support")
Signed-off-by: Zhang Qilong &lt;zhangqilong3@huawei.com&gt;
Signed-off-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: ti: knav_qmss: fix reference leak in knav_queue_probe</title>
<updated>2020-12-29T12:42:36Z</updated>
<author>
<name>Zhang Qilong</name>
</author>
<published>2020-11-22T03:22:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59d79e7cff3f0827dd3f910bb1d3f26e414b09de'/>
<id>urn:sha1:59d79e7cff3f0827dd3f910bb1d3f26e414b09de</id>
<content type='text'>
[ Upstream commit ec8684847d8062496c4619bc3fcff31c19d56847 ]

pm_runtime_get_sync will increment pm usage counter even it
failed. Forgetting to pm_runtime_put_noidle will result in
reference leak in knav_queue_probe, so we should fix it.

Fixes: 41f93af900a20 ("soc: ti: add Keystone Navigator QMSS driver")
Signed-off-by: Zhang Qilong &lt;zhangqilong3@huawei.com&gt;
Signed-off-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: ti: knav_qmss_queue: Fix linking RAM setup for queue managers</title>
<updated>2015-11-23T18:36:27Z</updated>
<author>
<name>Michal Morawiec</name>
</author>
<published>2015-11-23T18:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f7f2bccd1fe635eecb1739af1018eb0d4072282f'/>
<id>urn:sha1:f7f2bccd1fe635eecb1739af1018eb0d4072282f</id>
<content type='text'>
Configure linking RAM for both queue managers also in case
when only linking RAM 0 is specified in device tree.

Currently hwqueue driver configures linking RAM(s) to be used
cooperatively by the QMs (shared mode). Therefore if both
queue managers are used then both must be configured with
exactly the same linking RAM info (base address and size)
independent of the number of linking RAM(s) specified in the
device tree.
For proper operation only one linking RAM is required and in most
cases this can be internal one as long as it is able to handle
the number of descriptors used in the system.
Current driver code however skips configuration of second
queue manager if second linking RAM is not specified.
If the configuration for the QM2 is missing there will be
a crash when it tries to push/pop descriptors from its queues.

Signed-off-by: Michal Morawiec &lt;michal.1.morawiec.ext@nokia.com&gt;
Signed-off-by: Santosh Shilimkar &lt;ssantosh@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: ti: use request_firmware_direct() as acc firmware is optional</title>
<updated>2015-11-23T18:32:44Z</updated>
<author>
<name>Murali Karicheri</name>
</author>
<published>2015-10-19T18:09:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6af1a07316f3448c49a39667e7616493f72a38f8'/>
<id>urn:sha1:6af1a07316f3448c49a39667e7616493f72a38f8</id>
<content type='text'>
When firmware image for PDSP firmware is absent in the file system
the kernel boot with ramfs/nfs is stuck for 60 seconds being the
the default timeout. request_firmware_direct() is to take care of
such optional firmware loading and hence replace the call in the
driver with this API.

Signed-off-by: Murali Karicheri &lt;m-karicheri2@ti.com&gt;
Signed-off-by: Santosh Shilimkar &lt;ssantosh@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc</title>
<updated>2015-11-10T22:56:23Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-11-10T22:56:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56e0464980febfa50432a070261579415c72664e'/>
<id>urn:sha1:56e0464980febfa50432a070261579415c72664e</id>
<content type='text'>
Pull ARM SoC platform updates from Olof Johansson:
 "New and/or improved SoC support for this release:

  Marvell Berlin:
     - Enable standard DT-based cpufreq
     - Add CPU hotplug support

  Freescale:
     - Ethernet init for i.MX7D
     - Suspend/resume support for i.MX6UL

  Allwinner:
     - Support for R8 chipset (used on NTC's $9 C.H.I.P board)

  Mediatek:
     - SMP support for some platforms

  Uniphier:
     - L2 support
     - Cleaned up SMP support, etc.

  plus a handful of other patches around above functionality, and a few
  other smaller changes"

* tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
  ARM: uniphier: rework SMP operations to use trampoline code
  ARM: uniphier: add outer cache support
  Documentation: EXYNOS: Update bootloader interface on exynos542x
  ARM: mvebu: add broken-idle option
  ARM: orion5x: use mac_pton() helper
  ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned
  ARM: sunxi: Add R8 support
  ARM: digicolor: select pinctrl/gpio driver
  arm: berlin: add CPU hotplug support
  arm: berlin: use non-self-cleared reset register to reset cpu
  ARM: mediatek: add smp bringup code
  ARM: mediatek: enable gpt6 on boot up to make arch timer working
  soc: mediatek: Fix random hang up issue while kernel init
  soc: ti: qmss: make acc queue support optional in the driver
  soc: ti: add firmware file name as part of the driver
  Documentation: dt: soc: Add description for knav qmss driver
  ARM: S3C64XX: Use PWM lookup table for mach-smartq
  ARM: S3C64XX: Use PWM lookup table for mach-hmt
  ARM: S3C64XX: Use PWM lookup table for mach-crag6410
  ARM: S3C64XX: Use PWM lookup table for smdk6410
  ...
</content>
</entry>
<entry>
<title>soc: ti: qmss: make acc queue support optional in the driver</title>
<updated>2015-10-13T20:49:04Z</updated>
<author>
<name>Murali Karicheri</name>
</author>
<published>2015-10-13T20:49:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=045016902bf7abeeb2a86fc9284c30dce228f055'/>
<id>urn:sha1:045016902bf7abeeb2a86fc9284c30dce228f055</id>
<content type='text'>
acc channels are available only if accumulator PDSP is loaded and
running in the SoC. As this requires firmware and user may not have
firmware in the file system, make the accumulator queue support
available in qmss driver optional. To use accumulator queus user needs
to add firmware to the file system and boot up kernel.

Signed-off-by: Murali Karicheri &lt;m-karicheri2@ti.com&gt;
Signed-off-by: Santosh Shilimkar &lt;ssantosh@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: ti: add firmware file name as part of the driver</title>
<updated>2015-10-13T20:49:04Z</updated>
<author>
<name>Murali Karicheri</name>
</author>
<published>2015-10-13T20:49:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=96ee19becc3bd7b2cebae5828c3eacfebb50b993'/>
<id>urn:sha1:96ee19becc3bd7b2cebae5828c3eacfebb50b993</id>
<content type='text'>
Currently firmware file name is included in the DTS. This is not scalable
as user has to change the DTS if they need upgrade to a new firmware.
Instead, add the firmware file name in the driver itself. As long as there
is no API change, new firmware upgrade is easy and require no driver
change. User is expected to copy the firmware image to the file system
and add a sym link to the new firmware for doing an upgrade. Driver add
a array of firmware file names to search for the available firmware blobs.
This scheme also prepare the driver for future changes to API if ever
happens. In such case it is assumed that driver needs to change to
accommodate the new firmware and new firmware file name will get added to
the array.

Also update the DT document to remove the firmware attribute and add
description about firmware in the driver documentation.

Signed-off-by: Murali Karicheri &lt;m-karicheri2@ti.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Santosh Shilimkar &lt;ssantosh@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: ti: reset irq affinity before freeing irq</title>
<updated>2015-10-08T19:29:11Z</updated>
<author>
<name>Murali Karicheri</name>
</author>
<published>2015-09-17T16:02:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72affdecdd4901a8a1b71b2120731498e46347a4'/>
<id>urn:sha1:72affdecdd4901a8a1b71b2120731498e46347a4</id>
<content type='text'>
When using accumulator queue for rx side for network driver, following
warning is seen when doing a reboot command from Linux console. This
is because, affinity value is not reset before calling free_irq(). This
patch fixes this.

Deconfiguring network interfaces...
 ------------[ cut here ]-----------
 WARNING: CPU: 0 PID: 2081 at kernel/irq/manage.c:1370
__free_irq+0x208/0x214
 Modules linked in:
 CPU: 0 PID: 2081 Comm: ifconfig Not tainted 4.1.5-00908-g1049e206-dirty #1
 Hardware name: Keystone
 Backtrace:
 [&lt;c0012b98&gt;] (dump_backtrace) from [&lt;c0012dbc&gt;] (show_stack+0x18/0x1c)
 r7:c005d0a8 r6:c06e2184 r5:c06e2184 r4:00000000
 [&lt;c0012da4&gt;] (show_stack) from [&lt;c04e7168&gt;] (dump_stack+0x8c/0xcc)
 [&lt;c04e70dc&gt;] (dump_stack) from [&lt;c0025944&gt;] (warn_slowpath_common+0x88/0xb8)
 r7:c005d0a8 r6:0000055a r5:00000009 r4:0000000
 [&lt;c00258bc&gt;] (warn_slowpath_common) from [&lt;c0025a18&gt;] (warn_slowpath_null+0x
24/0x2c)
 r8:0000006c r7:ee513f60 r6:ee513f00 r5:ee611010 r4:cc873a00
 (warn_slowpath_null) from [&lt;c005d0a8&gt;] (__free_irq+0x208/0x214)
 [&lt;c005cea0&gt;] (__free_irq) from [&lt;c005d158&gt;] (free_irq+0x54/0xac)
 r10:00000002 r9:00000000 r8:00000000 r7:ee611010
r6:0000006c r5:00000000
  r4:ee513f00 r3:00000000
  [&lt;c005d104&gt;] (free_irq) from [&lt;c02a81b0&gt;] (knav_range_setup_acc_irq+0xb0/0x1
28)
  r7:00000001 r6:0000006c r5:ee611010 r4:00000001
  [&lt;c02a8100&gt;] (knav_range_setup_acc_irq) from [&lt;c02a8248&gt;] (knav_acc_close_qu
eue+0x20/0x24)
  r8:edd1a4c8 r7:00001000 r6:eed89980 r5:ee616650 r4:edf9d990
  [&lt;c02a8228&gt;] (knav_acc_close_queue) from [&lt;c02a6160&gt;] (knav_queue_close+0xb4
/0xb8)
  [&lt;c02a60ac&gt;] (knav_queue_close) from [&lt;c0336270&gt;] (netcp_free_navigator_reso
urces+0x1d4/0x2c0)
 r5:edd1a480 r4:00000400
 [&lt;c033609c&gt;] (netcp_free_navigator_resources) from
 [&lt;c033657c&gt;] (netcp_ndo_stop+0x220/0x230)
 r10:00008914 r9:edf34400 r8:00000000 r7:edd1a5d8 r6:edd1a480 r5:00000400
 r4:edd1a000
 [&lt;c033635c&gt;] (netcp_ndo_stop) from [&lt;c03d9c80&gt; (__dev_close_many+0x90/0xd8)
 r7:00001003 r6:00001042 r5:edb0de20 r4:edd1a000
 [&lt;c03d9bf0&gt;] (__dev_close_many) from [&lt;c03d9df4&gt;] (__dev_close+0x30/0x48)
  r5:00000001 r4:edd1a000
 [&lt;c03d9dc4&gt;] (__dev_close) from [&lt;c03e175c&gt;] (__dev_change_flags+0x9c/0x14c)
 [&lt;c03e16c0&gt;] (__dev_change_flags) from [&lt;c03e182c&gt;] (dev_change_flags+0x20/0

  r9:edf34400 r8:00000000 r7:00000000 r6:00001003 r5:edd1a138 r4:edd1a000
 [&lt;c03e180c&gt;] (dev_change_flags) from [&lt;c0446f94&gt;] (devinet_ioctl+0x680/0x754

  r9:edf34400 r8:bef6af3c r7:00000000 r6:bef6ac64 r5:edf3440c r4:00000000
 [&lt;c0446914&gt;] (devinet_ioctl) from [&lt;c0448760&gt;] (inet_ioctl+0x1a8/0x1d0)
  r10:00000000 r9:edb0c000 r8:bef6ac64 r7:00000003 r6:bef6ac64 r5:bef6ac64
  r4:00008914
 [&lt;c04485b8&gt;] (inet_ioctl) from [&lt;c03c72fc&gt;] (sock_ioctl+0x1d0/0x2a8)
 [&lt;c03c712c&gt;] (sock_ioctl) from [&lt;c00eb608&gt;] (do_vfs_ioctl+0x414/0x604)
  r7:00000003 r6:ed8b60c0 r5:bef6ac64 r4:ccc88f20
 [&lt;c00eb1f4&gt;] (do_vfs_ioctl) from [&lt;c00eb834&gt;] (SyS_ioctl+0x3c/0x64)
  r9:edb0c000 r8:bef6ac64 r7:00008914 r6:ed8b60c0 r5:00000003 r4:ed8b60c0
 [&lt;c00eb7f8&gt;] (SyS_ioctl) from [&lt;c000f780&gt;] (ret_fast_syscall+0x0/0x3c)
  r9:edb0c000 r8:c000f924 r7:00000036 r6:0007e77c r5:bef6ac64 r4:0007e7d0
 ---[ end trace f565594c905af0b4 ]---

Signed-off-by: Murali Karicheri &lt;m-karicheri2@ti.com&gt;
Signed-off-by: Santosh Shilimkar &lt;ssantosh@kernel.org&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>soc: ti: knav_qmss_queue: change knav_range_setup_acc_irq to static</title>
<updated>2015-01-29T21:23:51Z</updated>
<author>
<name>Murali Karicheri</name>
</author>
<published>2015-01-29T21:23:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a68094c67bf1fa86630bd011d2d212899c41e1bc'/>
<id>urn:sha1:a68094c67bf1fa86630bd011d2d212899c41e1bc</id>
<content type='text'>
knav_range_setup_acc_irq() is used only within the file and should
be defined as static.

Signed-off-by: Murali Karicheri &lt;m-karicheri2@ti.com&gt;
Signed-off-by: Santosh Shilimkar &lt;ssantosh@kernel.org&gt;
</content>
</entry>
</feed>
