1
0
Fork 0

Few Keystone fixes for 4.4-rcx

- Fix the optional PDSP firmware loading
 	- Fix linking RAM setup for QMs
 	- Fix crash with clk_ignore_unused
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWU1+DAAoJEHJsHOdBp5c/CioP/2vx9Gj/UPRKhxdCkzPeGymr
 9FB6YnNhFNN3iKQSGXBTvbQd177bXtgRruzRuYEZDenoJKHL13FXt4zybZSKgN5m
 jeJ79M/ZCeXnh/oXHdxRekabaxpOhv3tGjp+J4dVkd9v66iTsSzh/6aAsFb+pU/Z
 fyvSUrrxL76O22d4QzeHp20C1dgjLI95HN9vrDY79xeIGbC3T1xzUNP/ljAWIfqJ
 72OkyZ+CGpiqV16o4mzSUmTCrOa7ZyDLPOJqQceZvcSFdnIjYdSK2nIgz8rIDdt6
 W4J/2TmrAwbf60xoY9X/16GjTiloHeq6vlSBEn3Tdz+zSc1x6uSUSmSXsnxEPz+C
 ss8KRd6flTNrKdhA94yWJvwotm+rpb9d2PhBbuIkw5aGxcvNtlrZANxB6Br6mXyo
 P2wapqY4k0z8xR8ZzTE7ZIXHFwZJhzeqfcBaiUkVEnaaZcUh2fJG1INZ9pLImU/m
 KBnPE9xRTfw/7tvZgR9eOIJRETtUKrsE5oMTmEWCsoyGySCy70ElPvcBdMW5Ur3O
 bB9fPcMzYadK0teuy+w6TeGQX4D0aMciE81qbeMJ7Vztp8gs/dxT6p898NhALSlC
 gf9qp0HYdc3w405aq1i0/V/8bh3W0MxVYb6+yfuVu/5v2zUrCj1ebE/2Bky6GluK
 i1LSknADk9bv8iEIeCbf
 =OC3C
 -----END PGP SIGNATURE-----

Merge tag 'keystone-fixes-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into fixes

Merge "Few Keystone fixes for 4.4-rcx" from Santosh Shilimkar:
	- Fix the optional PDSP firmware loading
	- Fix linking RAM setup for QMs
	- Fix crash with clk_ignore_unused

* tag 'keystone-fixes-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone: k2l: fix kernel crash when clk_ignore_unused is not in bootargs
  soc: ti: knav_qmss_queue: Fix linking RAM setup for queue managers
  soc: ti: use request_firmware_direct() as acc firmware is optional
steinar/wifi_calib_4_9_kernel
Arnd Bergmann 2015-11-25 23:48:12 +01:00
commit e6b66dfb37
3 changed files with 5 additions and 23 deletions

View File

@ -49,24 +49,6 @@ specified through DTS. Following are the DTS used:-
The device tree documentation for the keystone machines are located at
Documentation/devicetree/bindings/arm/keystone/keystone.txt
Known issues & workaround
-------------------------
Some of the device drivers used on keystone are re-used from that from
DaVinci and other TI SoCs. These device drivers may use clock APIs directly.
Some of the keystone specific drivers such as netcp uses run time power
management API instead to enable clock. As this API has limitations on
keystone, following workaround is needed to boot Linux.
Add 'clk_ignore_unused' to the bootargs env variable in u-boot. Otherwise
clock frameworks will try to disable clocks that are unused and disable
the hardware. This is because netcp related power domain and clock
domains are enabled in u-boot as run time power management API currently
doesn't enable clocks for netcp due to a limitation. This workaround is
expected to be removed in the future when proper API support becomes
available. Until then, this work around is needed.
Document Author
---------------
Murali Karicheri <m-karicheri2@ti.com>

View File

@ -137,7 +137,7 @@ netcp: netcp@26000000 {
/* NetCP address range */
ranges = <0 0x26000000 0x1000000>;
clocks = <&papllclk>, <&clkcpgmac>, <&chipclk12>;
clocks = <&clkosr>, <&papllclk>, <&clkcpgmac>, <&chipclk12>;
dma-coherent;
ti,navigator-dmas = <&dma_gbe 0>,

View File

@ -1179,7 +1179,7 @@ static int knav_queue_setup_link_ram(struct knav_device *kdev)
block++;
if (!block->size)
return 0;
continue;
dev_dbg(kdev->dev, "linkram1: phys:%x, virt:%p, size:%x\n",
block->phys, block->virt, block->size);
@ -1519,9 +1519,9 @@ static int knav_queue_load_pdsp(struct knav_device *kdev,
for (i = 0; i < ARRAY_SIZE(knav_acc_firmwares); i++) {
if (knav_acc_firmwares[i]) {
ret = request_firmware(&fw,
knav_acc_firmwares[i],
kdev->dev);
ret = request_firmware_direct(&fw,
knav_acc_firmwares[i],
kdev->dev);
if (!ret) {
found = true;
break;