summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
14 daysnet: wireless: rtl8723ds: Remove misleading-indentation warningsaccepted/tizen/unified/x/20241108.111140accepted/tizen/unified/20241121.055627tizenaccepted/tizen_unified_xaccepted/tizen_unifiedSeung-Woo Kim2-9/+7
Adjust indent to fix misleading-indentation warnings. Change-Id: I8c9c21858365890663079f187c28fc41175730af Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
14 daysnet: wireless: rtl8723ds: Remove null check from rtw_mfree_stainfo()Seung-Woo Kim1-2/+1
Address of declared variable is always not null. Remove unnecessary null check for the case in rtw_mfree_stainfo(). Change-Id: I561148225a42a802470ef3d39115c0120954c4ff Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-11-07riscv: dts: thead: lichee-pi-4a: increase CMA size to 512MMarek Szyprowski1-0/+5
Increase the default CMA area to 512M to avoid memory allocation failures in the graphics stack when connected to 4K display. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I5beee928a43f112c21a0b6ca75bb430b91e77db6
2024-11-07net: wireless: rtl8723ds: Fix stringop-overread warningsaccepted/tizen/unified/x/20241108.051654Seung-Woo Kim2-2/+2
Copying to char[0] causes stringop-overread warnings, so replace with char[]. Change-Id: If562668eac9d6a8b45d00c983da41ac2b523fc8b Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-11-06net: wireless: rtl8723ds:don't write directly to netdev->dev_addrSeung-Woo Kim1-2/+2
Instead of direct write to netdev->dev_addr, it should use dev_addr_set(). Change-Id: I94557ed087bd35a109f88a065dcd2c26d134aefd Ref: 48eab831ae8b ("net: create netdev->dev_addr assignment helpers") Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-11-06net: wireless: rtl8723ds: Fix wrong casting for function pointerSeung-Woo Kim1-5/+5
Instead of wrong function pointer casting, cast argument from the callback function. Change-Id: Ie3e2db6803a40fb61b1e4f7978c0a996952a2996 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-11-06net: wireless: rtl8723ds: Remove unnecessary null checksSeung-Woo Kim3-15/+7
The null check for an array element is not required because it is always not null. Remove unnecessary null checks. Change-Id: I1617511e7ae5b54ace2f62e8c8e2d486e5824449 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-11-06net: wireless: rtl8723ds: Fix implicit-fallthrough warningsSeung-Woo Kim3-2/+7
Fix implicit-fallthrough warnings with explicit fallthrough statement. Change-Id: Iebca5d6c71af8c3e1611e78539b12cf9a2911d57 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-11-06soc: thead: Fix enum-conversion warningSeung-Woo Kim2-1/+2
Fix wrong enum type for light_event_msg_hdr_fill(). Change-Id: I3a3021f2862e31b0721f22f4f497025f1cb0765b Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-11-05gpu: drm: img: Fix build warningaccepted/tizen/unified/x/20241106.131212Marek Szyprowski1-1/+1
Fix the following build warning introduce after recent configuration change: drivers/gpu/drm/img-rogue/module_common.c:558:13: warning: 'wrap_pvr_sync_close' defined but not used [-Wunused-function] 558 | static void wrap_pvr_sync_close(void *connection_data) | ^~~~~~~~~~~~~~~~~~~ Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I505620cfd351bc5980d48d0916c342d015054430
2024-11-04gpu: drm: img: Replace system work flush with img dedicated workqueueSeung-Woo Kim4-2/+35
To remove deprecated flush_scheduled_work() after the commit 20bdedafd2f6 ("workqueue: Warn attempt to flush system-wide workqueues."), add img dedicated unordered wq and queue/flush the wq instead of system work. Change-Id: I316b2858abf15e11d9ed40550a41f9494d421c87 Ref: 848a4e5c096d ("drm/i915: add a dedicated workqueue inside drm_i915_private") Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2024-11-04gpu: drm: img: fix potential NULL pointer dereferenceMarek Szyprowski1-3/+8
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I519c2289c9659deab1e348ef88ab05668eb9c8f7
2024-11-04gpu: drm: img: load firmware on device openMarek Szyprowski1-1/+1
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I58b3d3a68cfce9d19f864e3f9c8b943549285538
2024-11-04gpu: drm: img: disable useless and unused 'nulldisp' drm driverMarek Szyprowski1-2/+2
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I13abab4e51511974a00af3500fae90f5bc18f96d
2024-10-30watchdog: light_wdt: Fix warningsaccepted/tizen/unified/x/20241031.045857Michal Wilczynski1-2/+2
This fixes following warning: In function 'light_wdt_update_timeout': drivers/watchdog/light_wdt.c:116:51: warning: implicit conversion from 'enum light_aon_wdg_func' to 'enum light_aon_misc_func' [-Wenum-conversion] light_wdt_msg_hdr_fill(&wdt_dev->msg.hdr, LIGHT_AON_WDG_FUNC_TIMEOUTSET); Also, add a 'static' to a static function to suppress other warning. Change-Id: Ia8f4daa37c58beffc8d0bdb8bcef20108cb282ab Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-30soc: thead: Fix wrong constantMichal Wilczynski1-1/+1
SOC_THEAD constant is not used, instead ARCH_THEAD is a correct constant used upstream. Fix it. Change-Id: Iea3b4393ec6d63b079483c87f0aa1573df0c6014 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-28RISCV: configs: tizen-lpi4a: Enable rtl8723ds driverMichal Wilczynski1-0/+1
rtl8723ds chip is used on LicheePi4A boards interchangeably with aic8800. Enable it as well, so Wi-Fi and Bluetooth works on more boards. Change-Id: I025dd5451b533fd728baa622f04ce41cf32d7ac6 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-28net: wireless: rtl8723ds: Adapt driver to API changes in kernel 6.6Michal Wilczynski5-24/+18
Driver copied from the kernel 5.10 doesn't compile on the kernel 6.6. Adapt it by changing function calls that changed across the kernel versions. Change-Id: I0ecd55a7c7bd5b869d51bbaf0fef9b3e93d4055e Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-28net: wireless: Add vanilla rtl8723ds driverMichal Wilczynski592-0/+459357
Copy the driver as is from [1]. This code won't compile, but it's better to do the kernel 6.6 adjustments in the following commit. [1] - https://github.com/revyos/thead-kernel.git Change-Id: I91c17992a4d07b4ff42ea2e0ef1968a78806d738 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-14RISCV: configs: tizen-lpi4a: Enable watchdog driveraccepted/tizen/unified/x/asan/20241022.113555accepted/tizen/unified/x/20241017.075855accepted/tizen/unified/toolchain/20241022.123103accepted/tizen/unified/toolchain/20241022.122702accepted/tizen_unified_x_asanaccepted/tizen_unified_toolchainMichal Wilczynski1-0/+1
The watchdog driver is necessary for the 'reboot' feature to work. Enable it in the config. Change-Id: I9c7e25baa6df0495fccc5e6e2e610273fda796df Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-14riscv: dts: thead: Enable light_event and dependent nodesMichal Wilczynski1-0/+10
Light event device tree node is required for the 'reboot' feature to work, as the driver function gets called by the watchdog. Enable it in the device tree to get the driver initialized properly. Add aon_iram dependent node as well. Ported from vendor kernel [1]. [1] https://gitee.com/thead-yocto/kernel.git Change-Id: Id77c4901a2a77146d0f26e31769221a1cf5ca853 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-14soc: thead: Introduce thead light_event driverMichal Wilczynski5-0/+298
This driver is required for the 'reboot' feature to work. Watchdog driver calls light_event_set_rebootmode() exported from this driver. Port it from the vendor kernel [1]. [1] - https://gitee.com/thead-yocto/kernel.git Change-Id: Ia25f95ed72669df348f72bcfcb0ca5eabb51dfc7 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-14watchdog: light_wdt: Introduce thead watchdog driverMichal Wilczynski3-0/+412
T-Head watchdog driver is required for 'reboot' feature to work. Port it from the vendor kernel [1]. [1] - https://gitee.com/thead-yocto/kernel.git Change-Id: If4d54fcdc65c77b6068b4cd989f3f869fec5428a Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-11riscv: dts: thead: Enable uart4 for Bluetooth HCIaccepted/tizen/unified/x/20241014.143212Michal Wilczynski1-0/+4
On LicheePi4A the HCI for Bluetooth is using UART. Enable uart4 so the communication with the chip works. Change-Id: If8c40574fe47dc20901b7142d664656ca5b418df Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-08RISCV: configs: tizen-lpi4a: drop DM_BOWaccepted/tizen/unified/x/asan/20241014.000543accepted/tizen/unified/x/20241011.021746Marek Szyprowski1-1/+0
dm-bow kernel module has been moved to external linux-tizen-modules repository, so drop it from tizen_lpi4a_defconfig. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I877de7f16d007703b4cc3da3c0be33184dd571b1
2024-10-08Revert "device-mapper: Add dm-bow"Marek Szyprowski4-1428/+0
The dm-bow kernel module (developed externally by Google team) has been moved to linux-tizen-modules-source repository, so keeping a copy of it in each kernel repository is not needed anymore. This reverts commit b5c5df065d73537ff80dcabae573e23a49ff02f9. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: Ia30b192e5e825bd013c6b0f39b2ee0c614f3c09c
2024-10-04RISCV: configs: tizen-lpi4a: Enable wireless driversaccepted/tizen/unified/x/20241008.135226Michal Wilczynski1-0/+3
Aic8800 drivers are written in a way that they can only work as modules, and can't be compiled in the kernel. Enable them as modules so the Wi-Fi works. Change-Id: I15336469583726ba5a4bd898349809ab15421ca3 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-04riscv: dts: thead: Add Wi-Fi rfkill node, and SDIO bus nodeMichal Wilczynski1-0/+26
In order for Wi-Fi to work the SDIO bus needs to be enabled in the device tree, as well as the node required to turn on the GPIO to power on the device - wcn_wifi. Port them from the vendor kernel [1]. [1] - https://gitee.com/thead-yocto/kernel.git Change-Id: I4b673316100f5a75195105befb6895095a9cb690 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-04riscv: dts: thead: Remove interfering regulatorMichal Wilczynski1-9/+0
Regulator soc_cam2_dvdd12_ir_reg seems to be using the same gpio controller as the rfkill gpio. It was observed that when this regulator is enabled the rfkill setting up it's GPIO doesn't actually have any effect i.e the Wi-Fi card never actually shows up on the SDIO bus. Remove this regulator for now, as it doesn't seem to be critical for any other functionality on the SoC. Change-Id: I5e54831e4084ab04bc5d3618cbde318d9775aa62 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-04net: rfkill: Enable custom rfkill for LicheePi4A Wi-FiMichal Wilczynski3-0/+976
Enable the driver responsible for powering-on the Wi-Fi card on the T-Head LicheePi4A SoC. One could argue that the net/rfkill might not be the best place for it, however it was put there originally in the vendor kernel. For now will keep it there. It was observed that the driver doesn't really do much else, than set the gpio specified in the device during the boot up of the system. Ported from vendor kernel [1]. [1] https://gitee.com/thead-yocto/kernel.git Change-Id: I268f531f9e7860ee22d261268bc06acd51088e99 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-04wireless: aic8800: Enable LicheePi 4A wireless driverMichal Wilczynski132-0/+81600
Ported from the vendor kernel [1]. [1] https://gitee.com/thead-yocto/kernel.git Change-Id: Ibd067b5ebf33e6206e57b9e45a2e8b1a1c88011f Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-10-04mmc: sdhci: Prevent stale command and data interrupt handlingMichal Wilczynski1-0/+4
While working with the T-Head 1520 LicheePi4A SoC, certain conditions arose that allowed me to reproduce a race issue in the sdhci code. To reproduce the bug, you need to enable the sdio1 controller in the device tree file `arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi` as follows: &sdio1 { bus-width = <4>; max-frequency = <100000000>; no-sd; no-mmc; broken-cd; cap-sd-highspeed; post-power-on-delay-ms = <50>; status = "okay"; wakeup-source; keep-power-in-suspend; }; When resetting the SoC using the reset button, the following messages appear in the dmesg log: [ 8.164898] mmc2: Got command interrupt 0x00000001 even though no command operation was in progress. [ 8.174054] mmc2: sdhci: ============ SDHCI REGISTER DUMP =========== [ 8.180503] mmc2: sdhci: Sys addr: 0x00000000 | Version: 0x00000005 [ 8.186950] mmc2: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000 [ 8.193395] mmc2: sdhci: Argument: 0x00000000 | Trn mode: 0x00000000 [ 8.199841] mmc2: sdhci: Present: 0x03da0000 | Host ctl: 0x00000000 [ 8.206287] mmc2: sdhci: Power: 0x0000000f | Blk gap: 0x00000000 [ 8.212733] mmc2: sdhci: Wake-up: 0x00000000 | Clock: 0x0000decf [ 8.219178] mmc2: sdhci: Timeout: 0x00000000 | Int stat: 0x00000000 [ 8.225622] mmc2: sdhci: Int enab: 0x00ff1003 | Sig enab: 0x00ff1003 [ 8.232068] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000 [ 8.238513] mmc2: sdhci: Caps: 0x3f69c881 | Caps_1: 0x08008177 [ 8.244959] mmc2: sdhci: Cmd: 0x00000502 | Max curr: 0x00191919 [ 8.254115] mmc2: sdhci: Resp[0]: 0x00001009 | Resp[1]: 0x00000000 [ 8.260561] mmc2: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000 [ 8.267005] mmc2: sdhci: Host ctl2: 0x00001000 [ 8.271453] mmc2: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x0000000000000000 [ 8.278594] mmc2: sdhci: ============================================ I also enabled some traces to better understand the problem: kworker/3:1-62 [003] ..... 8.163538: mmc_request_start: mmc2: start struct mmc_request[000000000d30cc0c]: cmd_opcode=5 cmd_arg=0x0 cmd_flags=0x2e1 cmd_retries=0 stop_opcode=0 stop_arg=0x0 stop_flags=0x0 stop_retries=0 sbc_opcode=0 sbc_arg=0x0 sbc_flags=0x0 sbc_retires=0 blocks=0 block_size=0 blk_addr=0 data_flags=0x0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 <idle>-0 [000] d.h2. 8.164816: sdhci_cmd_irq: hw_name=ffe70a0000.mmc quirks=0x2008008 quirks2=0x8 intmask=0x10000 intmask_p=0x18000 irq/24-mmc2-96 [000] ..... 8.164840: sdhci_thread_irq: msg= irq/24-mmc2-96 [000] d.h2. 8.164896: sdhci_cmd_irq: hw_name=ffe70a0000.mmc quirks=0x2008008 quirks2=0x8 intmask=0x1 intmask_p=0x1 irq/24-mmc2-96 [000] ..... 8.285142: mmc_request_done: mmc2: end struct mmc_request[000000000d30cc0c]: cmd_opcode=5 cmd_err=-110 cmd_resp=0x0 0x0 0x0 0x0 cmd_retries=0 stop_opcode=0 stop_err=0 stop_resp=0x0 0x0 0x0 0x0 stop_retries=0 sbc_opcode=0 sbc_err=0 sbc_resp=0x0 0x0 0x0 0x0 sbc_retries=0 bytes_xfered=0 data_err=0 tag=0 can_retune=0 doing_retune=0 retune_now=0 need_retune=0 hold_retune=1 retune_period=0 Here's what happens: the __mmc_start_request function is called with opcode 5. Since the power to the Wi-Fi card, which resides on this SDIO bus, is initially off after the reset, an interrupt SDHCI_INT_TIMEOUT is triggered. Immediately after that, a second interrupt SDHCI_INT_RESPONSE is triggered. Depending on the exact timing, these conditions can trigger the following race problem: 1) The sdhci_cmd_irq top half handles the command as an error. It sets host->cmd to NULL and host->pending_reset to true. 2) The sdhci_thread_irq bottom half is scheduled next and executes faster than the second interrupt handler for SDHCI_INT_RESPONSE. It clears host->pending_reset before the SDHCI_INT_RESPONSE handler runs. 3) The pending interrupt SDHCI_INT_RESPONSE handler gets called, triggering a code path that prints: "mmc2: Got command interrupt 0x00000001 even though no command operation was in progress." To solve this issue, we need to clear pending interrupts when resetting host->pending_reset. This ensures that after sdhci_threaded_irq restores interrupts, there are no pending stale interrupts. Change-Id: Idd6b1623cd842e00a30466074a225e7d847d1f98 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-08-29RISCV: configs: tizen-lpi4a: enable drivers needed for host USB supportaccepted/tizen/unified/x/20240830.151547accepted/tizen/unified/toolchain/20241004.102134Marek Szyprowski1-2/+4
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I45392bbd63292da19e7a3bae0e86c5f7d48faaa3
2024-08-29riscv: dts: thead: Add devicetree nodes for DWC3 (host USB) controllerMarek Szyprowski2-0/+62
Add DWC3 device controller and the needed glue nodes. Ported from vendor kernel [1]. [1] https://gitee.com/thead-yocto/kernel.git Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I3e023ec8d778c44204fa2e67b107431fff36f035
2024-08-29usb: dwc3: add THEAD/LicheePi4A vendor driverMarek Szyprowski3-0/+349
Taken from vendor kernel [1]. [1] https://gitee.com/thead-yocto/kernel.git Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I213452d619632addb75a23373542a962c21e6c9b
2024-08-14gpu: drm: img-rogue: Fix shrinker nameaccepted/tizen/unified/x/20240818.074458Seung-Woo Kim1-1/+1
The empty character shrinker name causes build warning, so fix it to NULL as like other git trees including img-rogue. Change-Id: I4aca9e4309ad27bd9922af54f9a10de11b929d20 Ref: https://git.tizen.org/cgit/platform/kernel/linux-starfive/tree/drivers/gpu/drm/img/img-rogue/services/server/env/linux/physmem_osmem_linux.c?h=7d2455338737#n615 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-08-13firmware: thead: Remove unused-function warningSeung-Woo Kim1-8/+0
Remove unused function to resolve unused-function warning. Change-Id: Idfb3f4c329616dd182078942a020a8c70d376eb1 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-08-13firmware: thead: Fix format warningSeung-Woo Kim1-1/+1
Fix format warning with proper printing format. Change-Id: Ie25c9d68846c78ea5f3b8c13791f932971ac36e9 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-08-13firmware: thead: Remove unused-variable warningSeung-Woo Kim1-3/+0
Remove unused-variable warning. Change-Id: I80939412e9086d1b00542cfb733ccb11b86e565c Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-08-13firmware: thead: Remove int-conversion waring in light_procSeung-Woo Kim1-3/+3
In Tizen toolchain -Wint-conversion warning causes build error. Remove the warning with proper casting. Change-Id: Ibb7c0be7fc2d4176f91800986c4ba113b2ad1dad Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2024-08-13RISCV: configs: tizen-lpi4a: Enable options required for GPUMichal Wilczynski1-0/+2
GPU resides in it's own power island. Always-on drivers are required to power on that island. Enable both GPU driver and dependent AON driver config options. Change-Id: I74e1563488f2ccf31ddce5f64d40378f2b26da82 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-08-13riscv: dts: thead: Add GPU node and dependent nodesMichal Wilczynski3-0/+61
GPU device tree node is dependent on always-on module working correctly. Fix aon node by supplying it with correct reserved memory space. Add the gpu node itself. Add an empty aon node in the beaglev-ahead dts, to avoid breaking the compilation. Change-Id: I9eafb0d576b1045089a640419ee7a0400ba90550 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-08-13riscv: dts: thead: Enable thead fanMichal Wilczynski1-0/+55
The drivers responsible for supporting thead fan are already in the repo. Enable the fan in the device tree for better SoC usability. Ported from [1]. [1] - https://github.com/revyos/thead-kernel.git Change-Id: I8b7efb97ec4ceb0c0484dd49631aef9a4101ab3b Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-08-13mailbox: Introduce thead mailbox driverMichal Wilczynski3-0/+599
The always-on driver required for GPU to work is also dependent on the mailbox. Enable the Thead mailbox driver. Ported from [1]. [1] - https://github.com/revyos/thead-kernel.git Change-Id: Ic56a740e1f618f5ceaa51addc3ed9a66d6c10ab6 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-08-13regulator: light-regulator-aon: Update aon regulator driverMichal Wilczynski1-478/+323
Update the light-regulator-aon driver to the newest version from [1]. It is important that this regulator works correctly as the GPU driver depends on the aon working correctly, since it's situated in it's own power island. Fix the formatting by using clang-format with kernel style config. [1] - https://github.com/revyos/thead-kernel.git Change-Id: I6be797fe8f2512bc3cd93baf62e3a9f92dd12287 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-08-12firmware: thead: Update always-on module driversMichal Wilczynski12-35/+554
GPU resides in it's own power island. The always-on module is resposible for powering the GPU on. Update the drivers to the newest available from [1]. In new version the extra debug FW info was added. Sadly this new debug module called light-proc-debug needs custom thead cache flushing functions to work correctly. Port them as well. [1] - https://github.com/revyos/thead-kernel.git Change-Id: I98a3e4549cb7e3ae5d0d282af35953a04db82882 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-08-12gpu: drm: img: Adjust the driver code for 6.6 kernelMichal Wilczynski8-22/+23
Across 5.10 and 6.6 many of the interfaces changed e.g the vma_flags can't be changed directly as it only should be changed using a provided API. Adjust the driver code so it compiles on a new kernel. Change-Id: Id1129caa0ab516568489b856b6dcc4b8112bf1c6 Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-08-12gpu: drm: img: Fix to use iterator instead of listMichal Wilczynski1-45/+13
This commit is cherry-picked from starfive repo [1] 1691514834f8 ("gpu: drm: img: Fix to use iterator instead of list"). [1] - git://git.tizen.org/platform/kernel/linux-starfive Change-Id: I4146b481a31c722785fce84d86b1c41788908afd Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
2024-08-12riscv: mm: fix NOCACHE_THEAD does not set bit[61] correctlyMichal Wilczynski1-1/+1
Previous commit dbfbda3bd6bf ("riscv: mm: update T-Head memory type definitions") from patch [1] missed a `<` for bit shifting, result in bit(61) does not set in _PAGE_NOCACHE_THEAD and leaves bit(0) set instead. This patch get this fixed. Link: https://lore.kernel.org/linux-riscv/20230912072510.2510-1-jszhang@kernel.org/ [1] Fixes: dbfbda3bd6bf ("riscv: mm: update T-Head memory type definitions") Signed-off-by: Yangyu Chen <cyy@cyyself.name> Reviewed-by: Guo Ren <guoren@kernel.org> Reviewed-by: Jisheng Zhang <jszhang@kernel.org> Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/tencent_E19FA1A095768063102E654C6FC858A32F06@qq.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com> [ need this commit for GPU to work as the GPU driver is manually setting page properties ] Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com> Change-Id: I59b1d7d18be9e8f43606f494a0b8b5f834b30189
2024-08-12riscv: mm: update T-Head memory type definitionsMichal Wilczynski1-5/+9
Update T-Head memory type definitions according to C910 doc [1] For NC and IO, SH property isn't configurable, hardcoded as SH, so set SH for NOCACHE and IO. And also set bit[61](Bufferable) for NOCACHE according to the table 6.1 in the doc [1]. Link: https://github.com/T-head-Semi/openc910 [1] Signed-off-by: Jisheng Zhang <jszhang@kernel.org> Reviewed-by: Guo Ren <guoren@kernel.org> Tested-by: Drew Fustini <dfustini@baylibre.com> Link: https://lore.kernel.org/r/20230912072510.2510-1-jszhang@kernel.org Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com> [ need this commit for GPU to work as the GPU driver is manually setting page properties ] Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com> Change-Id: I62a5af81620466024fdf5bf9c3f322aadddf6366