Re: [PATCH v6 0/2] Add optional reset for the drm/imagination driver

2025-04-24 Thread Matt Coster
it: 1300a7f8a7d4c5f88de30312cf34448b96539c23 [2/2] drm/imagination: Add reset controller support for GPU initialization commit: 3a2b7389feea9a7afd18d58cda59b7a989445f38 Best regards, -- Matt Coster

Re: (subset) [PATCH 01/10] drm/imagination: avoid unused-const-variable warning

2025-04-24 Thread Matt Coster
ion: avoid unused-const-variable warning commit: 3206a96675342badb0254558ba4b4c8764aa3ae7 Best regards, -- Matt Coster

Re: [PATCH v6 0/2] Add optional reset for the drm/imagination driver

2025-04-22 Thread Matt Coster
e haven't always made it easy for you! This series (sub-series?) is: Reviewed-by: Matt Coster If nobody has any objections, I'll apply it to drm-misc-next tomorrow. Cheers, Matt > > [1] - > https://lore.kernel.org/all/20250414-apr_14_for_sending-v2-0-70c5a

Re: [PATCH 01/10] drm/imagination: avoid unused-const-variable warning

2025-04-22 Thread Matt Coster
like enough of my concerns were due solely to my ignorance that I'd rather just take this patch as-is than spend time reworking it. (Thanks to Jani and Andi for filling gaps in my knowledge too!) To that end, Reviewed-by: Matt Coster And I'll take this through drm-misc-next tomorrow

Re: [PATCH v5 13/21] drm/imagination: Add reset controller support for GPU initialization

2025-04-16 Thread Matt Coster
nge in the DT bindings, > doesn’t appear to conflict with the work you're doing for Rogue series > enablement. Agreed, it still applies cleanly on top of drm-misc-next after we landed the BXS series. > > Would you prefer if I re-send them as a mini-series so you can consid

Re: [PATCH DO NOT MERGE v6 17/18] arm64: dts: ti: k3-am62: New GPU binding details

2025-04-15 Thread Matt Coster
On 10/04/2025 10:55, Matt Coster wrote: > Use the new compatible string introduced earlier (in "dt-bindings: gpu: > img: More explicit compatible strings") and add a name to the single power > domain for this GPU (introduced in "dt-bindings: gpu: img: Power domain &

Re: [PATCH v2 4/4] drm/imagination: Skip clocks if platform PM manages resources

2025-04-15 Thread Matt Coster
if (err) >> +return err; >> +} > > So, how does that work for devfreq? I can understand the rationale for > resets and the sys clock, but the core clock at least should really be > handled by the driver. I agree, this feels a bit "all or nothing

Re: [PATCH v5 01/18] dt-bindings: gpu: img: Future-proofing enhancements

2025-04-14 Thread Matt Coster
On 01/04/2025 17:45, Michal Wilczynski wrote: > On 3/26/25 17:48, Matt Coster wrote: >> The first compatible strings added for the AXE-1-16M are not sufficient to >> accurately describe all the IMG Rogue GPUs. The current "img,img-axe" >> string refers to the entire

[PATCH v6 14/18] drm/imagination: Add RISC-V firmware processor support

2025-04-10 Thread Matt Coster
). That patch adds the function pvr_vm_unmap_obj() which is used here. [1]: https://lore.kernel.org/r/20250226-hold-drm_gem_gpuva-lock-for-unmap-v2-1-3fdacded2...@imgtec.com Signed-off-by: Sarah Walker Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank'

[PATCH v6 16/18] drm/imagination: Add support for TI AM68 GPU

2025-04-10 Thread Matt Coster
Since we already added a generic compatible string for all IMG Rogue GPUs ("img,img-rogue"), all that's needed here is to link the appropriate firmware for the BXS-4-64 GPU in the AM68. Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank's Rb

[PATCH v6 05/18] drm/imagination: Add power domain control

2025-04-10 Thread Matt Coster
different GPU power topologies. Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank's Rb - Link to v5: https://lore.kernel.org/r/20250326-sets-bxs-4-64-patch-v1-v5-5-e4c46e828...@imgtec.com Changes in v5: - None - Link to v4: https://lore.kernel.org/r/

[PATCH v6 13/18] drm/imagination: Move ELF fw utils to common file

2025-04-10 Thread Matt Coster
Currently only MIPS firmware processors use ELF-formatted firmware. When adding support for RISC-V firmware processors, it will be useful to have ELF handling functions ready to go. Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Move loop variable as per https

[PATCH v6 07/18] drm/imagination: Handle Rogue safety event IRQs

2025-04-10 Thread Matt Coster
from it e.g. via pvr_power_reset(). Note that Rogue GPUs may send interrupts to the host for all types of safety events, not just the two above. For events not handled by the host, clearing the associated interrupt is sufficient. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster Reviewed-by

[PATCH DO NOT MERGE v6 17/18] arm64: dts: ti: k3-am62: New GPU binding details

2025-04-10 Thread Matt Coster
Use the new compatible string introduced earlier (in "dt-bindings: gpu: img: More explicit compatible strings") and add a name to the single power domain for this GPU (introduced in "dt-bindings: gpu: img: Power domain details"). Signed-off-by: Matt Coster --- Changes in v6:

[PATCH v6 15/18] drm/imagination: Use cached memory with dma_coherent

2025-04-10 Thread Matt Coster
memory allocations through the CPU cache. In fact, this can be done whenever the dma_coherent attribute is present. Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank's Rb - Link to v5: https://lore.kernel.org/r/20250326-sets-bxs-4-64-patch-v1-v5-15-e4c4

[PATCH v6 04/18] drm/imagination: Use new generic compatible string

2025-04-10 Thread Matt Coster
errogated from the device at runtime, we can match on the generic "img,img-rogue" and avoid adding more entries with NULL data members (barring hardware quirks). Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank's Rb - Link to v5: https://lore.kern

Re: [PATCH 01/10] drm/imagination: avoid unused-const-variable warning

2025-04-10 Thread Matt Coster
ard declaration down here. Can you move it up to the top of the file with the others? > > @@ -73,6 +72,5 @@ void pvr_fw_trace_mask_update(struct pvr_device *pvr_dev, > u32 old_mask, > u32 new_mask); > > void pvr_fw_trace_debugfs_init(struct pvr_device *pvr_dev, struct dentry > *dir); > -#endif /* defined(CONFIG_DEBUG_FS) */ Having said that, surely it makes sense to keep at least *_debugfs_init() gated behind CONFIG_DEBUG_FS? > > #endif /* PVR_FW_TRACE_H */ -- Matt Coster E: matt.cos...@imgtec.com OpenPGP_signature.asc Description: OpenPGP digital signature

[PATCH v6 10/18] drm/imagination: Make has_fixed_data_addr a value

2025-04-10 Thread Matt Coster
This is currently a callback function which takes no parameters; there's no reason for this so let's make it a straightforward value in pvr_fw_defs. Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank's Rb - Link to v5: https://lore.kernel.org/r/20

[PATCH v6 08/18] drm/imagination: Remove firmware enable_reg

2025-04-10 Thread Matt Coster
o not have an equivalent register. Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank's Rb - Link to v5: https://lore.kernel.org/r/20250326-sets-bxs-4-64-patch-v1-v5-8-e4c46e828...@imgtec.com Changes in v5: - None - Link to v4: https://lore.kernel.org/r/2025

[PATCH v6 00/18] Imagination BXS-4-64 MC1 GPU support

2025-04-10 Thread Matt Coster
- Use normal reg syntax for 64-bit values (P8/P21) - Link to v1: https://lore.kernel.org/r/20241105-sets-bxs-4-64-patch-v1-v1-0-4ed30e865...@imgtec.com --- Alessio Belle (3): drm/imagination: Update register defs for newer GPUs drm/imagination: Mask GPU IRQs in threaded handler d

[PATCH v6 11/18] drm/imagination: Use a lookup table for fw defs

2025-04-10 Thread Matt Coster
With more than two firmware processor types, the if/else chain in pvr_fw_init() gets a bit ridiculous. Use a static array indexed on pvr_fw_processor_type (which is now a proper enum instead of #defines) instead. Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add

[PATCH DO NOT MERGE v6 18/18] arm64: dts: ti: k3-j721s2: Add GPU node

2025-04-10 Thread Matt Coster
[1]: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel [2]: https://downloads.ti.com/tisci/esd/latest/5_soc_doc/j721s2/clocks.html [3]: https://downloads.ti.com/tisci/esd/latest/5_soc_doc/j721s2/devices.html Signed-off-by: Matt Coster --- Changes in v6: - None - Link to v5: https://lore.ke

[PATCH v6 06/18] drm/imagination: Mask GPU IRQs in threaded handler

2025-04-10 Thread Matt Coster
-to-be-added RISC-V firmware processors cannot be masked in hardware. This change allows us to continue using the threaded handler in GPUs with a RISC-V firmware. For simplicity, the same approach is taken for all firmware processors. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster

[PATCH v6 12/18] drm/imagination: Use callbacks for fw irq handling

2025-04-10 Thread Matt Coster
This allows for more versatility in checking and clearing firmware registers used for interrupt handling. Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank's Rb - Link to v5: https://lore.kernel.org/r/20250326-sets-bxs-4-64-patch-v1-v5-12-e4c4

[PATCH v6 02/18] dt-bindings: gpu: img: Add BXS-4-64 devicetree bindings

2025-04-10 Thread Matt Coster
Unlike AXE-1-16M, BXS-4-64 uses two power domains. Like the existing AXE-1-16M integration, BXS-4-64 uses the single clock integration in the TI k3-j721s2. Signed-off-by: Matt Coster Reviewed-by: Krzysztof Kozlowski --- Changes in v6: - Add Krzysztof's Rb - Link to v5: https://lore.kerne

[PATCH v6 03/18] drm/imagination: Update register defs for newer GPUs

2025-04-10 Thread Matt Coster
From: Alessio Belle Update the register define header to a newer version that covers more recent GPUs, including BXS-4-64. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank's Rb - Link to v5: https://lore.kernel.org/r/202

[PATCH v6 09/18] drm/imagination: Rename event_mask -> status_mask

2025-04-10 Thread Matt Coster
Now that enable_reg isn't used, rename the previously shared event_mask to status_mask since it's only used with status_reg. Signed-off-by: Matt Coster Reviewed-by: Frank Binns --- Changes in v6: - Add Frank's Rb - Link to v5: https://lore.kernel.org/r/20250326-sets-bxs-4-6

[PATCH v6 01/18] dt-bindings: gpu: img: Future-proofing enhancements

2025-04-10 Thread Matt Coster
and this property should be applied wherever it accurately describes the vendor integration. Note that the new required properties for power domains are conditional on the new base compatible string to avoid an ABI break. Signed-off-by: Matt Coster Reviewed-by: Krzysztof Kozlowski --- Changes in

Re: [PATCH v2] drm/imagination: loop counters moved to loop scope

2025-04-07 Thread Matt Coster
06a9697d068711140e9c47 Best regards, -- Matt Coster

[PATCH v5 11/18] drm/imagination: Use a lookup table for fw defs

2025-04-05 Thread Matt Coster
With more than two firmware processor types, the if/else chain in pvr_fw_init() gets a bit ridiculous. Use a static array indexed on pvr_fw_processor_type (which is now a proper enum instead of #defines) instead. Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https

[PATCH v5 14/18] drm/imagination: Add RISC-V firmware processor support

2025-04-05 Thread Matt Coster
). That patch adds the function pvr_vm_unmap_obj() which is used here. [1]: https://lore.kernel.org/r/20250226-hold-drm_gem_gpuva-lock-for-unmap-v2-1-3fdacded2...@imgtec.com Signed-off-by: Sarah Walker Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r

Re: [PATCH] drm/imagination: fix firmware memory leaks

2025-04-05 Thread Matt Coster
ad. > > Ensure all firmware GEM objects are destroyed if firmware image > processing fails. > > [...] Applied, thanks! [1/1] drm/imagination: fix firmware memory leaks commit: a5b230e7f3a55bd8bd8d012eec75a4b7baa671d5 Best regards, -- Matt Coster

[PATCH DO NOT MERGE v4 18/18] arm64: dts: ti: k3-j721s2: Add GPU node

2025-04-05 Thread Matt Coster
[1]: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel [2]: https://downloads.ti.com/tisci/esd/latest/5_soc_doc/j721s2/clocks.html [3]: https://downloads.ti.com/tisci/esd/latest/5_soc_doc/j721s2/devices.html Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.ke

[PATCH DO NOT MERGE v4 17/18] arm64: dts: ti: k3-am62: New GPU binding details

2025-04-05 Thread Matt Coster
Use the new compatible string introduced earlier (in "dt-bindings: gpu: img: More explicit compatible strings") and add a name to the single power domain for this GPU (introduced in "dt-bindings: gpu: img: Power domain details"). Signed-off-by: Matt Coster --- Changes in v4:

[PATCH v4 06/18] drm/imagination: Mask GPU IRQs in threaded handler

2025-04-05 Thread Matt Coster
-to-be-added RISC-V firmware processors cannot be masked in hardware. This change allows us to continue using the threaded handler in GPUs with a RISC-V firmware. For simplicity, the same approach is taken for all firmware processors. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster

[PATCH v4 03/18] drm/imagination: Update register defs for newer GPUs

2025-04-05 Thread Matt Coster
From: Alessio Belle Update the register define header to a newer version that covers more recent GPUs, including BXS-4-64. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v3-3-143b3dbef

[PATCH DO NOT MERGE v5 18/18] arm64: dts: ti: k3-j721s2: Add GPU node

2025-04-05 Thread Matt Coster
[1]: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel [2]: https://downloads.ti.com/tisci/esd/latest/5_soc_doc/j721s2/clocks.html [3]: https://downloads.ti.com/tisci/esd/latest/5_soc_doc/j721s2/devices.html Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.ke

[PATCH v4 16/18] drm/imagination: Add support for TI AM68 GPU

2025-04-05 Thread Matt Coster
Since we already added a generic compatible string for all IMG Rogue GPUs ("img,img-rogue"), all that's needed here is to link the appropriate firmware for the BXS-4-64 GPU in the AM68. Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/

[PATCH v4 14/18] drm/imagination: Add RISC-V firmware processor support

2025-04-05 Thread Matt Coster
). That patch adds the function pvr_vm_unmap_obj() which is used here. [1]: https://lore.kernel.org/r/20250226-hold-drm_gem_gpuva-lock-for-unmap-v2-1-3fdacded2...@imgtec.com Signed-off-by: Sarah Walker Signed-off-by: Matt Coster --- Changes in v4: - Use pvr_vm_unmap_obj() in pvr_riscv_vm_unmap

[PATCH v4 15/18] drm/imagination: Use cached memory with dma_coherent

2025-04-05 Thread Matt Coster
memory allocations through the CPU cache. In fact, this can be done whenever the dma_coherent attribute is present. Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v3-15-143b3dbef...@imgtec.com Changes in v3: - Change

[PATCH v4 00/18] Imagination BXS-4-64 MC1 GPU support

2025-04-04 Thread Matt Coster
tps://lore.kernel.org/r/20241105-sets-bxs-4-64-patch-v1-v1-0-4ed30e865...@imgtec.com --- Alessio Belle (3): drm/imagination: Update register defs for newer GPUs drm/imagination: Mask GPU IRQs in threaded handler drm/imagination: Handle Rogue safety event IRQs Matt Coster (14):

Re: [PATCH v2] drm/imagination: loop counters moved to loop scope

2025-04-04 Thread Matt Coster
On 02/04/2025 09:40, Alexandru Dadu wrote: > Reduce the scope of some loop counters as these aren't needed outside > the loops they're used in. > > Signed-off-by: Alexandru Dadu Hi Alexandru, Thanks for dragging us into the bright, bright future of (C)99! Reviewed-by: Ma

Re: [PATCH] drm/imagination: take paired job reference

2025-04-02 Thread Matt Coster
fe53a1736b064 Best regards, -- Matt Coster

[PATCH v4 04/18] drm/imagination: Use new generic compatible string

2025-03-27 Thread Matt Coster
errogated from the device at runtime, we can match on the generic "img,img-rogue" and avoid adding more entries with NULL data members (barring hardware quirks). Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v

[PATCH DO NOT MERGE v5 17/18] arm64: dts: ti: k3-am62: New GPU binding details

2025-03-26 Thread Matt Coster
Use the new compatible string introduced earlier (in "dt-bindings: gpu: img: More explicit compatible strings") and add a name to the single power domain for this GPU (introduced in "dt-bindings: gpu: img: Power domain details"). Signed-off-by: Matt Coster --- Changes in v5:

[PATCH v5 12/18] drm/imagination: Use callbacks for fw irq handling

2025-03-26 Thread Matt Coster
This allows for more versatility in checking and clearing firmware registers used for interrupt handling. Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4-64-patch-v1-v4-12-d987cf4ca...@imgtec.com Changes in v4: - None - Link to v3

[PATCH v5 02/18] dt-bindings: gpu: img: Add BXS-4-64 devicetree bindings

2025-03-26 Thread Matt Coster
Unlike AXE-1-16M, BXS-4-64 uses two power domains. Like the existing AXE-1-16M integration, BXS-4-64 uses the single clock integration in the TI k3-j721s2. Signed-off-by: Matt Coster --- Changes in v5: - Replace anyOf/const with enum - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4

[PATCH v5 06/18] drm/imagination: Mask GPU IRQs in threaded handler

2025-03-26 Thread Matt Coster
-to-be-added RISC-V firmware processors cannot be masked in hardware. This change allows us to continue using the threaded handler in GPUs with a RISC-V firmware. For simplicity, the same approach is taken for all firmware processors. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster

[PATCH v5 15/18] drm/imagination: Use cached memory with dma_coherent

2025-03-26 Thread Matt Coster
memory allocations through the CPU cache. In fact, this can be done whenever the dma_coherent attribute is present. Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4-64-patch-v1-v4-15-d987cf4ca...@imgtec.com Changes in v4: - None

[PATCH v5 10/18] drm/imagination: Make has_fixed_data_addr a value

2025-03-26 Thread Matt Coster
This is currently a callback function which takes no parameters; there's no reason for this so let's make it a straightforward value in pvr_fw_defs. Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4-64-patch-v1-v4-10

[PATCH v5 01/18] dt-bindings: gpu: img: Future-proofing enhancements

2025-03-26 Thread Matt Coster
and this property should be applied wherever it accurately describes the vendor integration. Note that the new required properties for power domains are conditional on the new base compatible string to avoid an ABI break. Signed-off-by: Matt Coster --- Changes in v5: - Remove extra

[PATCH v5 08/18] drm/imagination: Remove firmware enable_reg

2025-03-26 Thread Matt Coster
o not have an equivalent register. Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4-64-patch-v1-v4-8-d987cf4ca...@imgtec.com Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v3-8

[PATCH v5 16/18] drm/imagination: Add support for TI AM68 GPU

2025-03-26 Thread Matt Coster
Since we already added a generic compatible string for all IMG Rogue GPUs ("img,img-rogue"), all that's needed here is to link the appropriate firmware for the BXS-4-64 GPU in the AM68. Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/

[PATCH v5 13/18] drm/imagination: Move ELF fw utils to common file

2025-03-26 Thread Matt Coster
Currently only MIPS firmware processors use ELF-formatted firmware. When adding support for RISC-V firmware processors, it will be useful to have ELF handling functions ready to go. Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4

[PATCH v5 05/18] drm/imagination: Add power domain control

2025-03-26 Thread Matt Coster
different GPU power topologies. Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4-64-patch-v1-v4-5-d987cf4ca...@imgtec.com Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v3-5-143b3d

[PATCH v5 09/18] drm/imagination: Rename event_mask -> status_mask

2025-03-26 Thread Matt Coster
Now that enable_reg isn't used, rename the previously shared event_mask to status_mask since it's only used with status_reg. Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4-64-patch-v1-v4-9-d987cf4ca...@imgtec.com Cha

[PATCH v5 04/18] drm/imagination: Use new generic compatible string

2025-03-26 Thread Matt Coster
errogated from the device at runtime, we can match on the generic "img,img-rogue" and avoid adding more entries with NULL data members (barring hardware quirks). Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4-64-patch-v1-

[PATCH v5 07/18] drm/imagination: Handle Rogue safety event IRQs

2025-03-26 Thread Matt Coster
from it e.g. via pvr_power_reset(). Note that Rogue GPUs may send interrupts to the host for all types of safety events, not just the two above. For events not handled by the host, clearing the associated interrupt is sufficient. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster --- Changes

[PATCH v5 03/18] drm/imagination: Update register defs for newer GPUs

2025-03-26 Thread Matt Coster
From: Alessio Belle Update the register define header to a newer version that covers more recent GPUs, including BXS-4-64. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster --- Changes in v5: - None - Link to v4: https://lore.kernel.org/r/20250320-sets-bxs-4-64-patch-v1-v4-3-d987cf4ca

[PATCH v5 00/18] Imagination BXS-4-64 MC1 GPU support

2025-03-26 Thread Matt Coster
d30e865...@imgtec.com --- Alessio Belle (3): drm/imagination: Update register defs for newer GPUs drm/imagination: Mask GPU IRQs in threaded handler drm/imagination: Handle Rogue safety event IRQs Matt Coster (14): dt-bindings: gpu: img: Future-proofing enhancements dt-

Re: [PATCH] drm/imagination: fix firmware memory leaks

2025-03-24 Thread Matt Coster
_kmalloc_large_node_noprof+0x2c/0x13c > __kmalloc_noprof+0x48/0x4c0 > pvr_fw_init+0xb0c/0x1f50 [powervr] > > Cc: sta...@vger.kernel.org > Fixes: cc1aeedb98ad ("drm/imagination: Implement firmware infrastructure and > META FW support") > Signed-off-by: Brendan

Re: [PATCH] drm/imagination: take paired job reference

2025-03-24 Thread Matt Coster
-after-free in > pvr_queue_prepare_job+0x108/0x868 [powervr] > [ 124.264893] Read of size 1 at addr 084cb960 by task > kworker/u16:4/63 > > Cc: sta...@vger.kernel.org > Fixes: eaf01ee5ba28 ("drm/imagination: Implement job submission and > scheduling") > Si

[PATCH v4 10/18] drm/imagination: Make has_fixed_data_addr a value

2025-03-20 Thread Matt Coster
This is currently a callback function which takes no parameters; there's no reason for this so let's make it a straightforward value in pvr_fw_defs. Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v3-10

[PATCH v4 01/18] dt-bindings: gpu: img: Future-proofing enhancements

2025-03-20 Thread Matt Coster
and this property should be applied wherever it accurately describes the vendor integration. Note that the new required properties for power domains are conditional on the new base compatible string to avoid an ABI break. Signed-off-by: Matt Coster --- Changes in v4: - Add img,img-rogue ba

[PATCH v4 07/18] drm/imagination: Handle Rogue safety event IRQs

2025-03-20 Thread Matt Coster
from it e.g. via pvr_power_reset(). Note that Rogue GPUs may send interrupts to the host for all types of safety events, not just the two above. For events not handled by the host, clearing the associated interrupt is sufficient. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster --- Changes

[PATCH v4 11/18] drm/imagination: Use a lookup table for fw defs

2025-03-20 Thread Matt Coster
With more than two firmware processor types, the if/else chain in pvr_fw_init() gets a bit ridiculous. Use a static array indexed on pvr_fw_processor_type (which is now a proper enum instead of #defines) instead. Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https

[PATCH v4 08/18] drm/imagination: Remove firmware enable_reg

2025-03-20 Thread Matt Coster
o not have an equivalent register. Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v3-8-143b3dbef...@imgtec.com Changes in v3: - Reference a different commit removing use of enable/disable ops. - Link to v2: https://lore.

[PATCH v4 09/18] drm/imagination: Rename event_mask -> status_mask

2025-03-20 Thread Matt Coster
Now that enable_reg isn't used, rename the previously shared event_mask to status_mask since it's only used with status_reg. Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v3-9-143b3dbef...@imgtec.com Cha

[PATCH v4 12/18] drm/imagination: Use callbacks for fw irq handling

2025-03-20 Thread Matt Coster
This allows for more versatility in checking and clearing firmware registers used for interrupt handling. Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v3-12-143b3dbef...@imgtec.com Changes in v3: - None - Link to v2

[PATCH v4 05/18] drm/imagination: Add power domain control

2025-03-20 Thread Matt Coster
different GPU power topologies. Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4-64-patch-v1-v3-5-143b3dbef...@imgtec.com Changes in v3: - None - Link to v2: https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-6-3fd45d

[PATCH v4 02/18] dt-bindings: gpu: img: Add BXS-4-64 devicetree bindings

2025-03-20 Thread Matt Coster
Unlike AXE-1-16M, BXS-4-64 uses two power domains. Like the existing AXE-1-16M integration, BXS-4-64 uses the single clock integration in the TI k3-j721s2. Signed-off-by: Matt Coster --- Changes in v4: - Add minItems: 1 to power-domain-names so we don't break single domain bindings - Add

[PATCH v4 13/18] drm/imagination: Move ELF fw utils to common file

2025-03-20 Thread Matt Coster
Currently only MIPS firmware processors use ELF-formatted firmware. When adding support for RISC-V firmware processors, it will be useful to have ELF handling functions ready to go. Signed-off-by: Matt Coster --- Changes in v4: - None - Link to v3: https://lore.kernel.org/r/20250310-sets-bxs-4

[PATCH v3 07/18] drm/imagination: Handle Rogue safety event IRQs

2025-03-15 Thread Matt Coster
from it e.g. via pvr_power_reset(). Note that Rogue GPUs may send interrupts to the host for all types of safety events, not just the two above. For events not handled by the host, clearing the associated interrupt is sufficient. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster --- Changes

[PATCH DO NOT MERGE v3 18/18] arm64: dts: ti: k3-j721s2: Add GPU node

2025-03-15 Thread Matt Coster
[1]: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel [2]: https://downloads.ti.com/tisci/esd/latest/5_soc_doc/j721s2/clocks.html [3]: https://downloads.ti.com/tisci/esd/latest/5_soc_doc/j721s2/devices.html Signed-off-by: Matt Coster --- Changes in v3: - None - Link to v2: https://lore.ke

[PATCH v3 11/18] drm/imagination: Use a lookup table for fw defs

2025-03-11 Thread Matt Coster
With more than two firmware processor types, the if/else chain in pvr_fw_init() gets a bit ridiculous. Use a static array indexed on pvr_fw_processor_type (which is now a proper enum instead of #defines) instead. Signed-off-by: Matt Coster --- Changes in v3: - None - Link to v2: https

[PATCH v3 00/18] Imagination BXS-4-64 MC1 GPU support

2025-03-11 Thread Matt Coster
--- Alessio Belle (3): drm/imagination: Update register defs for newer GPUs drm/imagination: Mask GPU IRQs in threaded handler drm/imagination: Handle Rogue safety event IRQs Matt Coster (14): dt-bindings: gpu: img: Future-proofing enhancements dt-bindings: gpu: img:

[PATCH v3 13/18] drm/imagination: Move ELF fw utils to common file

2025-03-11 Thread Matt Coster
Currently only MIPS firmware processors use ELF-formatted firmware. When adding support for RISC-V firmware processors, it will be useful to have ELF handling functions ready to go. Signed-off-by: Matt Coster --- Changes in v3: - None - Link to v2: https://lore.kernel.org/r/20241118-sets-bxs-4

[PATCH v3 02/18] dt-bindings: gpu: img: Add BXS-4-64 devicetree bindings

2025-03-11 Thread Matt Coster
Unlike AXE-1-16M, BXS-4-64 uses two power domains. Like the existing AXE-1-16M integration, BXS-4-64 uses the single clock integration in the TI k3-j721s2. Signed-off-by: Matt Coster --- Changes in v3: - Include adding the second power domain so it's in context - Remove unnecessary ex

Re: [PATCH v3 01/18] dt-bindings: gpu: img: Future-proofing enhancements

2025-03-11 Thread Matt Coster
On 11/03/2025 07:50, Krzysztof Kozlowski wrote: > On Mon, Mar 10, 2025 at 01:10:25PM +0000, Matt Coster wrote: >> The first compatible strings added for the AXE-1-16M are not sufficient to >> accurately describe all the IMG Rogue GPUs. The current "img,img-axe" >&

Re: [PATCH v3 02/18] dt-bindings: gpu: img: Add BXS-4-64 devicetree bindings

2025-03-11 Thread Matt Coster
On 11/03/2025 07:51, Krzysztof Kozlowski wrote: > On Mon, Mar 10, 2025 at 01:10:26PM +0000, Matt Coster wrote: >> Unlike AXE-1-16M, BXS-4-64 uses two power domains. >> >> Like the existing AXE-1-16M integration, BXS-4-64 uses the single clock >> integration in the TI k3-

[PATCH v3 04/18] drm/imagination: Use new generic compatible string

2025-03-10 Thread Matt Coster
errogated from the device at runtime, we can match on the generic "img,img-rogue" and avoid adding more entries with NULL data members (barring hardware quirks). Signed-off-by: Matt Coster --- Changes in v3: - Don't use more specific compatible strings when not required - Link t

[PATCH v3 15/18] drm/imagination: Use cached memory with dma_coherent

2025-03-10 Thread Matt Coster
memory allocations through the CPU cache. In fact, this can be done whenever the dma_coherent attribute is present. Signed-off-by: Matt Coster --- Changes in v3: - Change from a workaround to a regular codepath - Add missing include - Link to v2: https://lore.kernel.org/r/20241118-sets-bxs-4-64

[PATCH v3 10/18] drm/imagination: Make has_fixed_data_addr a value

2025-03-10 Thread Matt Coster
This is currently a callback function which takes no parameters; there's no reason for this so let's make it a straightforward value in pvr_fw_defs. Signed-off-by: Matt Coster --- Changes in v3: - None - Link to v2: https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-11

[PATCH v3 08/18] drm/imagination: Remove firmware enable_reg

2025-03-10 Thread Matt Coster
o not have an equivalent register. Signed-off-by: Matt Coster --- Changes in v3: - Reference a different commit removing use of enable/disable ops. - Link to v2: https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-10-3fd45d9fb...@imgtec.com Changes in v2: - None - Link to

[PATCH DO NOT MERGE v3 17/18] arm64: dts: ti: k3-am62: New GPU binding details

2025-03-10 Thread Matt Coster
Use the new compatible string introduced earlier (in "dt-bindings: gpu: img: More explicit compatible strings") and add a name to the single power domain for this GPU (introduced in "dt-bindings: gpu: img: Power domain details"). Signed-off-by: Matt Coster --- Changes in v3:

[PATCH v3 05/18] drm/imagination: Add power domain control

2025-03-10 Thread Matt Coster
different GPU power topologies. Signed-off-by: Matt Coster --- Changes in v3: - None - Link to v2: https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-6-3fd45d9fb...@imgtec.com Changes in v2: - None - Link to v1: https://lore.kernel.org/r/20241105-sets-bxs-4-64-patch-v1-v1-6-4ed30e865

[PATCH v3 16/18] drm/imagination: Add support for TI AM68 GPU

2025-03-10 Thread Matt Coster
Since we already added a generic compatible string for all IMG Rogue GPUs ("img,img-rogue"), all that's needed here is to link the appropriate firmware for the BXS-4-64 GPU in the AM68. Signed-off-by: Matt Coster --- Changes in v3: - Remove device overrides - Remove specific co

[PATCH v3 14/18] drm/imagination: Add RISC-V firmware processor support

2025-03-10 Thread Matt Coster
From: Sarah Walker Newer PowerVR GPUs (such as the BXS-4-64 MC1) use a RISC-V firmware processor instead of the previous MIPS or META. Signed-off-by: Sarah Walker Signed-off-by: Matt Coster --- Changes in v3: - Don't enable debug module - Link to v2: https://lore.kernel.org/r/20241118

[PATCH v3 03/18] drm/imagination: Update register defs for newer GPUs

2025-03-10 Thread Matt Coster
From: Alessio Belle Update the register define header to a newer version that covers more recent GPUs, including BXS-4-64. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster --- Changes in v3: - Added --- drivers/gpu/drm/imagination/pvr_rogue_cr_defs.h | 153 +--- 1

[PATCH v3 09/18] drm/imagination: Rename event_mask -> status_mask

2025-03-10 Thread Matt Coster
Now that enable_reg isn't used, rename the previously shared event_mask to status_mask since it's only used with status_reg. Signed-off-by: Matt Coster --- Changes in v3: - None - Link to v2: https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-11-3fd45d9fb...@imgtec.com Cha

[PATCH v3 12/18] drm/imagination: Use callbacks for fw irq handling

2025-03-10 Thread Matt Coster
This allows for more versatility in checking and clearing firmware registers used for interrupt handling. Signed-off-by: Matt Coster --- Changes in v3: - None - Link to v2: https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-14-3fd45d9fb...@imgtec.com Changes in v2: - None - Link to v1

[PATCH v3 01/18] dt-bindings: gpu: img: Future-proofing enhancements

2025-03-10 Thread Matt Coster
and this property should be applied wherever it accurately describes the vendor integration. Note that the new required properties for power domains are conditional on the new base compatible string to avoid an ABI break. Signed-off-by: Matt Coster --- Changes in v3: - Remove unnecessary ex

[PATCH v3 06/18] drm/imagination: Mask GPU IRQs in threaded handler

2025-03-10 Thread Matt Coster
-to-be-added RISC-V firmware processors cannot be masked in hardware. This change allows us to continue using the threaded handler in GPUs with a RISC-V firmware. For simplicity, the same approach is taken for all firmware processors. Signed-off-by: Alessio Belle Signed-off-by: Matt Coster

Re: [PATCH] drm/imagination: Fix timestamps in firmware traces

2025-03-03 Thread Matt Coster
e. interpreting > the first value in memory as the lowest 32 bits, and the second value > as the highest 32 bits (then truncated to 16 bits). > > [...] Applied, thanks! [1/1] drm/imagination: Fix timestamps in firmware traces commit: 1d2eabb6616433ccaa13927811bdfa205e91ba60 Best regards, -- Matt Coster

Re: [PATCH] drm/imagination: Fix timestamps in firmware traces

2025-03-03 Thread Matt Coster
66 ("drm/imagination: Add firmware trace to debugfs") > Signed-off-by: Alessio Belle Reviewed-by: Matt Coster Cheers, Matt > --- > drivers/gpu/drm/imagination/pvr_fw_trace.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/d

Re: [PATCH v2] drm/imagination: Hold drm_gem_gpuva lock for unmap

2025-03-03 Thread Matt Coster
hanks! [1/1] drm/imagination: Hold drm_gem_gpuva lock for unmap commit: a5c4c3ba95a52d66315acdfbaba9bd82ed39c250 Best regards, -- Matt Coster

Re: [PATCH v2] drm/imagination: only init job done fences once

2025-03-03 Thread Matt Coster
once commit: 68c3de7f707e8a70e0a6d8087cf0fe4a3d5dbfb0 Best regards, -- Matt Coster

Re: [PATCH v2] drm/imagination: avoid deadlock on fence release

2025-03-03 Thread Matt Coster
> [ 607.458245] Possible unsafe locking scenario: > > [...] Applied, thanks! [1/1] drm/imagination: avoid deadlock on fence release commit: df1a1ed5e1bdd9cc13148e0e5549f5ebcf76cf13 Best regards, -- Matt Coster

Re: [PATCH] drm/imagination: remove unnecessary header include path

2025-02-26 Thread Matt Coster
n: remove unnecessary header include path commit: 2e064e3f3282ec016d80cb7b1fadff0d8e2014ca Best regards, -- Matt Coster

Re: [PATCH] drm/imagination: Hold drm_gem_gpuva lock for unmap

2025-02-19 Thread Matt Coster
t; > Signed-off-by: Brendan King Hi Brendan, Reviewed-by: Matt Coster Would you mind sending a V2 with "Cc: sta...@vger.kernel.org" so this fix will get picked up for stable backporting? Cheers, Matt > --- > drivers/gpu/drm/imagination/pvr_fw_meta.c |

  1   2   >