[PATCH v3 4/8] drm/panfrost: Add fdinfo support GPU load metrics

2023-09-05 Thread Adrián Larumbe
job IRQ and the actual time of the sample. - Time spent in the engine queue waiting for the GPU to pick up the next job. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_devfreq.c | 8 +++ drivers/gpu/drm/panfrost/panfrost_devfreq.h | 3 ++ drivers/gpu/drm/panfrost

[PATCH v3 2/8] drm/panfrost: Enable cycle counter register upon job submission

2023-09-05 Thread Adrián Larumbe
. Toggling of GPU cycle counting has to be done through a module parameter. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_device.c | 5 +++ drivers/gpu/drm/panfrost/panfrost_device.h | 6 +++ drivers/gpu/drm/panfrost/panfrost_gpu.c| 43 ++ drivers

[PATCH v3 5/8] drm/panfrost: Add fdinfo support for memory stats

2023-09-05 Thread Adrián Larumbe
handle database spinlock, so there's potential for a race condition here. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_drv.c | 1 + drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++ 2 files changed, 15 insertions(+) diff --git a/drivers/gpu/drm/panfrost

[PATCH v3 1/8] drm/panfrost: Add cycle count GPU register definitions

2023-09-05 Thread Adrián Larumbe
These GPU registers will be used when programming the cycle counter, which we need for providing accurate fdinfo drm-cycles values to user space. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/panfrost/panfrost_regs.h | 5 + 1 file

[PATCH v3 0/8] Add fdinfo support to Panfrost

2023-09-05 Thread Adrián Larumbe
ier for more accurate BO size numbers - Removed special handling of Prime imported BO RSS - Use rss_size only for heap objects - Use bo->base.madv instead of specific purgeable flag - Fixed kernel test robot warnings Adrián Larumbe (8): drm/panfrost: Add cycle count GPU register definitions

[PATCH v3 3/8] drm/panfrost: Enable debugfs toggling of cycle counter register

2023-09-05 Thread Adrián Larumbe
Allow user space to decide whether the cycle counting register should be enabled. The main goal is letting tools like nvtop or IGT's gputop access this information in debug builds to obtain engine utilisation numbers. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/Makefile

[PATCH v3 7/8] drm/panfrost: Implement generic DRM object RSS reporting function

2023-09-05 Thread Adrián Larumbe
at BO creation time. This calculation is unnecessary for imported PRIME objects, since heap buffers cannot be exported by our driver, and the actual BO RSS size is the one reported in its attached dmabuf structure. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_gem.c | 14

[PATCH v3 6/8] drm/drm_file: Add DRM obj's RSS reporting function for fdinfo

2023-09-05 Thread Adrián Larumbe
by system memory after successive GPU page faults. Provide a new DRM object generic function that would allow drivers to return a more accurate RSS size for their BOs. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon --- drivers/gpu/drm/drm_file.c | 5 - include/drm/drm_gem.h | 9

[PATCH v3 8/8] drm/drm-file: Show finer-grained BO sizes in drm_show_memory_stats

2023-09-05 Thread Adrián Larumbe
The current implementation will try to pick the highest available size display unit as soon as the BO size exceeds that of the previous multiplier. By selecting a higher threshold, we could show more accurate size numbers. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/drm_file.c | 2 +- 1

Re: [PATCH v2 2/6] drm/panfrost: Add fdinfo support GPU load metrics

2023-08-31 Thread Adrián Larumbe
On 30.08.2023 12:17, Boris Brezillon wrote: >On Thu, 24 Aug 2023 02:34:45 +0100 >Adrián Larumbe wrote: > >> The drm-stats fdinfo tags made available to user space are drm-engine, >> drm-cycles, drm-max-freq and drm-curfreq, one per job slot. > >Pretty sure this

Re: [PATCH v2 5/6] drm/panfrost: Implement generic DRM object RSS reporting function

2023-08-31 Thread Adrián Larumbe
On 30.08.2023 12:52, Boris Brezillon wrote: >On Thu, 24 Aug 2023 02:34:48 +0100 >Adrián Larumbe wrote: > >> BO's RSS is updated every time new pages are allocated and mapped for the >> object, either in its entirety at creation time for non-heap buffers, or >> else

Re: [PATCH v2 3/6] drm/panfrost: Add fdinfo support for memory stats

2023-08-31 Thread Adrián Larumbe
On 30.08.2023 12:31, Boris Brezillon wrote: >On Thu, 24 Aug 2023 02:34:46 +0100 >Adrián Larumbe wrote: > >> A new DRM GEM object function is added so that drm_show_memory_stats can >> provider more accurate memory usage numbers. > > s/provider/provide/ > >>

Re: [PATCH v2 2/6] drm/panfrost: Add fdinfo support GPU load metrics

2023-08-31 Thread Adrián Larumbe
On 31.08.2023 16:54, Steven Price wrote: >On 24/08/2023 02:34, Adrián Larumbe wrote: >> The drm-stats fdinfo tags made available to user space are drm-engine, >> drm-cycles, drm-max-freq and drm-curfreq, one per job slot. >> >> This deviates from standard practice

Re: [PATCH v2 6/6] drm/drm-file: Allow size unit selection in drm_show_memory_stats

2023-08-30 Thread Adrián Larumbe
ory_stats is to be interpreted as the >> integer multiplier of a 10-power of 2, so 1 would give us size in Kib and 2 >> in Mib. If we want drm-file functions to pick the highest unit, then 0 >> should be passed. >> >> Signed-off-by: Adrián Larumbe >> --- >> drivers

[PATCH v4 0/6] Add fdinfo support to Panfrost

2023-09-12 Thread Adrián Larumbe
fdinfo memory object size unit that doesn't lose precision. Adrián Larumbe (6): drm/panfrost: Add cycle count GPU register definitions drm/panfrost: Add fdinfo support GPU load metrics drm/panfrost: Add fdinfo support for memory stats drm/drm_file: Add DRM obj's RSS reporting function for

[PATCH v4 2/6] drm/panfrost: Add fdinfo support GPU load metrics

2023-09-12 Thread Adrián Larumbe
waste in case no engine usage measuring is necessary. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/Makefile | 2 + drivers/gpu/drm/panfrost/panfrost_debugfs.c | 20 drivers/gpu/drm/panfrost/panfrost_debugfs.h | 13 + drivers/gpu/drm/panfrost

[PATCH v4 5/6] drm/panfrost: Implement generic DRM object RSS reporting function

2023-09-12 Thread Adrián Larumbe
at BO creation time. This calculation is unnecessary for imported PRIME objects, since heap buffers cannot be exported by our driver, and the actual BO RSS size is the one reported in its attached dmabuf structure. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_gem.c | 15

[PATCH v4 4/6] drm/drm_file: Add DRM obj's RSS reporting function for fdinfo

2023-09-12 Thread Adrián Larumbe
by system memory after successive GPU page faults. Provide a new DRM object generic function that would allow drivers to return a more accurate RSS size for their BOs. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon --- drivers/gpu/drm/drm_file.c | 5 - include/drm/drm_gem.h | 9

[PATCH v4 6/6] drm/drm-file: Show finer-grained BO sizes in drm_show_memory_stats

2023-09-12 Thread Adrián Larumbe
BO's, their size will naturally be aligned on something bigger than a 4 KiB page, so in practice it is very unlikely their display unit would default to KiB. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/drm_file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu

[PATCH v4 3/6] drm/panfrost: Add fdinfo support for memory stats

2023-09-12 Thread Adrián Larumbe
handle database spinlock, so there's potential for a race condition here. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++ drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++ 2 files changed, 16 insertions(+) diff --git a/drivers/gpu/drm/panfrost

[PATCH v4 1/6] drm/panfrost: Add cycle count GPU register definitions

2023-09-12 Thread Adrián Larumbe
These GPU registers will be used when programming the cycle counter, which we need for providing accurate fdinfo drm-cycles values to user space. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/panfrost/panfrost_regs.h | 5 + 1 file

Re: [PATCH v3 2/8] drm/panfrost: Enable cycle counter register upon job submission

2023-09-09 Thread Adrián Larumbe
On 06.09.2023 09:57, Boris Brezillon wrote: >On Tue, 5 Sep 2023 19:45:18 +0100 >Adrián Larumbe wrote: > >> diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c >> b/drivers/gpu/drm/panfrost/panfrost_job.c >> index 033f5e684707..8b1bf6ac48f8 100644 >&g

Re: [PATCH v3 7/8] drm/panfrost: Implement generic DRM object RSS reporting function

2023-09-09 Thread Adrián Larumbe
On 06.09.2023 10:01, Boris Brezillon wrote: >On Tue, 5 Sep 2023 19:45:23 +0100 >Adrián Larumbe wrote: > >> BO's RSS is updated every time new pages are allocated on demand and mapped >> for the object at GPU page fault's IRQ handler, but only for heap buffers. >> The

Re: [PATCH v3 8/8] drm/drm-file: Show finer-grained BO sizes in drm_show_memory_stats

2023-09-09 Thread Adrián Larumbe
On 06.09.2023 10:11, Boris Brezillon wrote: >On Tue, 5 Sep 2023 19:45:24 +0100 >Adrián Larumbe wrote: > >> The current implementation will try to pick the highest available size >> display unit as soon as the BO size exceeds that of the previous >> multiplier. &

Re: [PATCH v3 2/8] drm/panfrost: Enable cycle counter register upon job submission

2023-09-09 Thread Adrián Larumbe
On 06.09.2023 09:21, Boris Brezillon wrote: >On Tue, 5 Sep 2023 19:45:18 +0100 >Adrián Larumbe wrote: > >> In a future development, we will want to keep track of the number of GPU >> cycles spent on a given job. That means we should enable it only when the >> GPU

[PATCH v5 0/6] Add fdinfo support to Panfrost

2023-09-14 Thread Adrián Larumbe
st job dequeue function to avoid repetition. Adrián Larumbe (6): drm/panfrost: Add cycle count GPU register definitions drm/panfrost: Add fdinfo support GPU load metrics drm/panfrost: Add fdinfo support for memory stats drm/drm_file: Add DRM obj's RSS reporting function for fdinfo

[PATCH v5 2/6] drm/panfrost: Add fdinfo support GPU load metrics

2023-09-14 Thread Adrián Larumbe
waste in case no engine usage measuring is necessary. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon --- drivers/gpu/drm/panfrost/Makefile | 2 + drivers/gpu/drm/panfrost/panfrost_debugfs.c | 20 drivers/gpu/drm/panfrost/panfrost_debugfs.h | 13 + drivers/gpu

[PATCH v5 3/6] drm/panfrost: Add fdinfo support for memory stats

2023-09-14 Thread Adrián Larumbe
handle database spinlock, so there's potential for a race condition here. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon --- drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++ drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++ 2 files changed, 16 insertions(+) diff --git

[PATCH v5 1/6] drm/panfrost: Add cycle count GPU register definitions

2023-09-14 Thread Adrián Larumbe
These GPU registers will be used when programming the cycle counter, which we need for providing accurate fdinfo drm-cycles values to user space. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/panfrost/panfrost_regs.h | 5 + 1 file

[PATCH v5 4/6] drm/drm_file: Add DRM obj's RSS reporting function for fdinfo

2023-09-14 Thread Adrián Larumbe
by system memory after successive GPU page faults. Provide a new DRM object generic function that would allow drivers to return a more accurate RSS size for their BOs. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon --- drivers/gpu/drm/drm_file.c | 5 - include/drm/drm_gem.h | 9

[PATCH v5 6/6] drm/drm-file: Show finer-grained BO sizes in drm_show_memory_stats

2023-09-14 Thread Adrián Larumbe
the display unit selection threshold to render more accurate values. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/drm_file.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c index 762965e3d503..34cfa128ffe5 100644

[PATCH v5 5/6] drm/panfrost: Implement generic DRM object RSS reporting function

2023-09-14 Thread Adrián Larumbe
at BO creation time. This calculation is unnecessary for imported PRIME objects, since heap buffers cannot be exported by our driver, and the actual BO RSS size is the one reported in its attached dmabuf structure. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon --- drivers/gpu/drm

[PATCH v6 1/6] drm/panfrost: Add cycle count GPU register definitions

2023-09-19 Thread Adrián Larumbe
These GPU registers will be used when programming the cycle counter, which we need for providing accurate fdinfo drm-cycles values to user space. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/panfrost/panfrost_regs.h | 5 + 1 file

[PATCH v6 3/6] drm/panfrost: Add fdinfo support for memory stats

2023-09-19 Thread Adrián Larumbe
handle database spinlock, so there's potential for a race condition here. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++ drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++ 2 files changed, 16

[PATCH v6 2/6] drm/panfrost: Add fdinfo support GPU load metrics

2023-09-19 Thread Adrián Larumbe
waste in case no engine usage measuring is necessary. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/panfrost/Makefile | 2 + drivers/gpu/drm/panfrost/panfrost_debugfs.c | 20 drivers/gpu/drm/panfrost

[PATCH v6 6/6] drm/drm-file: Show finer-grained BO sizes in drm_show_memory_stats

2023-09-19 Thread Adrián Larumbe
the display unit selection threshold to render more accurate values. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/drm_file.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu

[PATCH v6 4/6] drm/drm_file: Add DRM obj's RSS reporting function for fdinfo

2023-09-19 Thread Adrián Larumbe
by system memory after successive GPU page faults. Provide a new DRM object generic function that would allow drivers to return a more accurate RSS size for their BOs. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/drm_file.c | 5

[PATCH v6 0/6] Add fdinfo support to Panfrost

2023-09-19 Thread Adrián Larumbe
e read over in case of requeuing. - Moved putting of cycle counting refcnt into panfrost job dequeue function to avoid repetition. v6: - Fix wrong swapped-round engine time and cycle values in fdinfo drm print statements. Adrián Larumbe (6): drm/panfrost: Add cycle count GPU register defin

[PATCH v6 5/6] drm/panfrost: Implement generic DRM object RSS reporting function

2023-09-19 Thread Adrián Larumbe
at BO creation time. This calculation is unnecessary for imported PRIME objects, since heap buffers cannot be exported by our driver, and the actual BO RSS size is the one reported in its attached dmabuf structure. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven

Re: [PATCH v6 4/6] drm/drm_file: Add DRM obj's RSS reporting function for fdinfo

2023-09-22 Thread Adrián Larumbe
On 20.09.2023 16:53, Tvrtko Ursulin wrote: > >On 20/09/2023 00:34, Adrián Larumbe wrote: >> Some BO's might be mapped onto physical memory chunkwise and on demand, >> like Panfrost's tiler heap. In this case, even though the >> drm_gem_shmem_object page array might al

Re: [PATCH v6 2/6] drm/panfrost: Add fdinfo support GPU load metrics

2023-09-22 Thread Adrián Larumbe
On 20.09.2023 16:40, Tvrtko Ursulin wrote: >On 20/09/2023 00:34, Adrián Larumbe wrote: >> The drm-stats fdinfo tags made available to user space are drm-engine, >> drm-cycles, drm-max-freq and drm-curfreq, one per job slot. >> >> This deviates from standard practice

Re: [PATCH v6 6/6] drm/drm-file: Show finer-grained BO sizes in drm_show_memory_stats

2023-09-22 Thread Adrián Larumbe
On 21.09.2023 11:14, Tvrtko Ursulin wrote: > >On 20/09/2023 16:32, Tvrtko Ursulin wrote: >> >> On 20/09/2023 00:34, Adrián Larumbe wrote: >> > The current implementation will try to pick the highest available size >> > display unit as soon as the

Re: [PATCH v6 6/6] drm/drm-file: Show finer-grained BO sizes in drm_show_memory_stats

2023-09-22 Thread Adrián Larumbe
On 20.09.2023 16:32, Tvrtko Ursulin wrote: > >On 20/09/2023 00:34, Adrián Larumbe wrote: >> The current implementation will try to pick the highest available size >> display unit as soon as the BO size exceeds that of the previous >> multiplier. That can lead to loss

[PATCH v8 2/5] drm/panfrost: Add fdinfo support GPU load metrics

2023-09-29 Thread Adrián Larumbe
waste in case no engine usage measuring is necessary. Also add a documentation file explaining the possible values for fdinfo's engine keystrings and Panfrost-specific drm-curfreq- pairs. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price Reviewed

[PATCH v8 1/5] drm/panfrost: Add cycle count GPU register definitions

2023-09-29 Thread Adrián Larumbe
These GPU registers will be used when programming the cycle counter, which we need for providing accurate fdinfo drm-cycles values to user space. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price Reviewed-by: AngeloGioacchino Del Regno --- drivers/gpu/drm

[PATCH v8 0/5] Add fdinfo support to Panfrost

2023-09-29 Thread Adrián Larumbe
essing nitpicks. Adrián Larumbe (5): drm/panfrost: Add cycle count GPU register definitions drm/panfrost: Add fdinfo support GPU load metrics drm/panfrost: Add fdinfo support for memory stats drm/drm_file: Add DRM obj's RSS reporting function for fdinfo drm/panfrost: Implement gener

[PATCH v8 4/5] drm/drm_file: Add DRM obj's RSS reporting function for fdinfo

2023-09-29 Thread Adrián Larumbe
by system memory after successive GPU page faults. Provide a new DRM object generic function that would allow drivers to return a more accurate RSS and purgeable sizes for their BOs. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price Reviewed-by: AngeloGioacchino

[PATCH v8 5/5] drm/panfrost: Implement generic DRM object RSS reporting function

2023-09-29 Thread Adrián Larumbe
at BO creation time. This calculation is unnecessary for imported PRIME objects, since heap buffers cannot be exported by our driver, and the actual BO RSS size is the one reported in its attached dmabuf structure. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven

[PATCH v8 3/5] drm/panfrost: Add fdinfo support for memory stats

2023-09-29 Thread Adrián Larumbe
handle database spinlock, so there's potential for a race condition here. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price Reviewed-by: AngeloGioacchino Del Regno --- drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++ drivers/gpu/drm/panfrost/panfrost_gem.c | 15

[PATCH v7 2/5] drm/panfrost: Add fdinfo support GPU load metrics

2023-09-27 Thread Adrián Larumbe
waste in case no engine usage measuring is necessary. Add also documentation file explaining the possible values for fdinfo's engine keystrings and Panfrost-specific drm-curfreq- pairs. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- Documentation/gpu

[PATCH v7 0/5] Add fdinfo support to Panfrost

2023-09-27 Thread Adrián Larumbe
ecking the engine name array size for fdinfo. - Added copyright notices for Amazon in Panfrost's new debugfs files. - Discarded fdinfo memory stats unit size selection patch. Adrián Larumbe (5): drm/panfrost: Add cycle count GPU register definitions drm/panfrost: Add fdinfo support GPU load metrics

[PATCH v7 5/5] drm/panfrost: Implement generic DRM object RSS reporting function

2023-09-27 Thread Adrián Larumbe
at BO creation time. This calculation is unnecessary for imported PRIME objects, since heap buffers cannot be exported by our driver, and the actual BO RSS size is the one reported in its attached dmabuf structure. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven

[PATCH v7 4/5] drm/drm_file: Add DRM obj's RSS reporting function for fdinfo

2023-09-27 Thread Adrián Larumbe
by system memory after successive GPU page faults. Provide a new DRM object generic function that would allow drivers to return a more accurate RSS and purgeable sizes for their BOs. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/drm_file.c

[PATCH v7 3/5] drm/panfrost: Add fdinfo support for memory stats

2023-09-27 Thread Adrián Larumbe
handle database spinlock, so there's potential for a race condition here. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/panfrost/panfrost_drv.c | 2 ++ drivers/gpu/drm/panfrost/panfrost_gem.c | 14 ++ 2 files changed, 16

[PATCH v7 1/5] drm/panfrost: Add cycle count GPU register definitions

2023-09-27 Thread Adrián Larumbe
These GPU registers will be used when programming the cycle counter, which we need for providing accurate fdinfo drm-cycles values to user space. Signed-off-by: Adrián Larumbe Reviewed-by: Boris Brezillon Reviewed-by: Steven Price --- drivers/gpu/drm/panfrost/panfrost_regs.h | 5 + 1 file

[PATCH] Documentation/gpu: fix Panfrost documentation build warnings

2023-10-05 Thread Adrián Larumbe
Fix issues revealed by `make htmldocs` after adding Panfrost DRM documentation file. Signed-off-by: Adrián Larumbe Fixes: d124dac2089c ("drm/panfrost: Add fdinfo support GPU load metrics") Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/20231003091

Re: [PATCH] drm/panfrost: Remove incorrect IS_ERR() check

2023-10-21 Thread Adrián Larumbe
On 20.10.2023 11:44, Steven Price wrote: > sg_page_iter_page() doesn't return an error code, so the IS_ERR() check > is wrong and the error path will never be executed. This also allows > simplifying the code to remove the local variable 'page'. > > CC: Adrián Larumbe >

Re: [PATCH 1/2] drm/panfrost: Add fdinfo support to Panfrost

2023-08-23 Thread Adrián Larumbe
'fdinfo' DRM file descriptor. >> >> Signed-off-by: Adrián Larumbe >> --- >> drivers/gpu/drm/panfrost/panfrost_device.c | 12 >> drivers/gpu/drm/panfrost/panfrost_device.h | 10 +++ >> drivers/gpu/drm/panfrost/panfrost_drv.c| 32

[PATCH v2 1/6] drm/panfrost: Add cycle count GPU register definitions

2023-08-23 Thread Adrián Larumbe
These GPU registers will be used when programming the cycle counter, which we need for providing accurate fdinfo drm-cycles values to user space. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_regs.h | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm

[PATCH v2 2/6] drm/panfrost: Add fdinfo support GPU load metrics

2023-08-23 Thread Adrián Larumbe
calculations. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_devfreq.c | 8 drivers/gpu/drm/panfrost/panfrost_devfreq.h | 3 ++ drivers/gpu/drm/panfrost/panfrost_device.h | 13 ++ drivers/gpu/drm/panfrost/panfrost_drv.c | 45 - drivers/gpu

[PATCH v2 4/6] drm/drm_file: Add DRM obj's RSS reporting function for fdinfo

2023-08-23 Thread Adrián Larumbe
by system memory after successive GPU page faults. Provide a new DRM object generic function that would allow drivers to return a more accurate RSS size for their BOs. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/drm_file.c | 5 - include/drm/drm_gem.h | 9 + 2 files changed, 13

[PATCH v2 0/6] Add fdinfo support to Panfrost

2023-08-23 Thread Adrián Larumbe
size for BO's. - Implemente selection of drm-memory region size units - Removed locking of shrinker's mutex in GEM obj status function Adrián Larumbe (6): drm/panfrost: Add cycle count GPU register definitions drm/panfrost: Add fdinfo support GPU load metrics drm/panfrost: Add fdinfo

[PATCH v2 6/6] drm/drm-file: Allow size unit selection in drm_show_memory_stats

2023-08-23 Thread Adrián Larumbe
multiplier of a 10-power of 2, so 1 would give us size in Kib and 2 in Mib. If we want drm-file functions to pick the highest unit, then 0 should be passed. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/drm_file.c | 22 +- drivers/gpu/drm/msm/msm_drv.c | 2

[PATCH v2 3/6] drm/panfrost: Add fdinfo support for memory stats

2023-08-23 Thread Adrián Larumbe
handle database spinlock, so there's potential for a race condition here. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_drv.c | 9 +++-- drivers/gpu/drm/panfrost/panfrost_gem.c | 12 drivers/gpu/drm/panfrost/panfrost_gem.h | 1 + 3 files changed, 20

[PATCH v2 5/6] drm/panfrost: Implement generic DRM object RSS reporting function

2023-08-23 Thread Adrián Larumbe
for it might have already been allocated by the exporting driver. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_gem.c | 22 ++ drivers/gpu/drm/panfrost/panfrost_gem.h | 5 + drivers/gpu/drm/panfrost/panfrost_mmu.c | 16 +++- 3 files changed

[PATCH] drm/meson: fix HDMI2 420 display mode selection logic

2022-05-15 Thread Adrián Larumbe
e supports YCBCR420 output format. Fix the selection logic. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/meson/meson_dw_hdmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c index 5cd2b2ebbbd3..6c

[PATCH 0/1] devcoredump support for Panfrost GPU driver

2022-05-17 Thread Adrián Larumbe
. Mesa MR under review can be found at: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14034 Adrián Larumbe (1): drm/panfrost: Add support for devcoredump drivers/gpu/drm/panfrost/Kconfig | 1 + drivers/gpu/drm/panfrost/Makefile| 3 +- drivers/gpu/drm/panfrost

[PATCH 1/1] drm/panfrost: Add support for devcoredump

2022-05-17 Thread Adrián Larumbe
In the event of a job timeout, debug dump information will be written into /sys/class/devcoredump. Inspired by etnaviv's similar feature. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/Kconfig | 1 + drivers/gpu/drm/panfrost/Makefile| 3 +- drivers/gpu/drm

[PATCH v3 1/1] drm/panfrost: Add support for devcoredump

2022-06-21 Thread Adrián Larumbe
In the event of a job timeout, debug dump information will be written into /sys/class/devcoredump. Inspired by etnaviv's similar feature. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/Kconfig | 1 + drivers/gpu/drm/panfrost/Makefile| 3 +- drivers/gpu/drm

[PATCH v3 0/1] devcoredump support for Panfrost GPU driver

2022-06-21 Thread Adrián Larumbe
patch: - Added JS and MMU offset macros for selecting the right register in the dump rather than using magic numbers. - Added sanity check to make sure Panfrost's page size is the same as the CPU's - Added major and minor dump header version numbers Adrián Larumbe (1): drm/panfrost: Add support

[PATCH v4 0/2] devcoredump support for Panfrost GPU driver

2022-06-22 Thread Adrián Larumbe
. Adrián Larumbe (2): drm/panfrost: Add specific register offset macros for JS and MMU AS drm/panfrost: Add support for devcoredump drivers/gpu/drm/panfrost/Kconfig | 1 + drivers/gpu/drm/panfrost/Makefile| 3 +- drivers/gpu/drm/panfrost/panfrost_dump.c | 249

[PATCH v4 1/2] drm/panfrost: Add specific register offset macros for JS and MMU AS

2022-06-22 Thread Adrián Larumbe
Each Panfrost job has its own job slot and MMU address space set of registers, which are selected with a job-specific index. Turn the shift and stride used for selection of the right register set base into a define rather than using magic numbers. Signed-off-by: Adrián Larumbe --- drivers/gpu

[PATCH v4 2/2] drm/panfrost: Add support for devcoredump

2022-06-22 Thread Adrián Larumbe
In the event of a job timeout, debug dump information will be written into /sys/class/devcoredump. Inspired by etnaviv's similar feature. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/Kconfig | 1 + drivers/gpu/drm/panfrost/Makefile| 3 +- drivers/gpu/drm

Re: [PATCH 1/1] drm/panfrost: Add support for devcoredump

2022-06-20 Thread Adrián Larumbe
Hi Steven, Thanks a lot for your feedback, it was quite useful. Also I'm sorry about having taken so long to write a reply, but other things held me back from working on Panfrost for way too long already. On 18.05.2022 12:03, Steven Price wrote: >On 17/05/2022 18:42, Adrián Larumbe wr

[PATCH v2 0/1] devcoredump support for Panfrost GPU driver

2022-06-20 Thread Adrián Larumbe
for header fields to something more representative. - Changed the dump header format to a union whose members are the different header types. Adrián Larumbe (1): drm/panfrost: Add support for devcoredump drivers/gpu/drm/panfrost/Kconfig | 1 + drivers/gpu/drm/panfrost/Makefile| 3

[PATCH v2 1/1] drm/panfrost: Add support for devcoredump

2022-06-20 Thread Adrián Larumbe
In the event of a job timeout, debug dump information will be written into /sys/class/devcoredump. Inspired by etnaviv's similar feature. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/Kconfig | 1 + drivers/gpu/drm/panfrost/Makefile| 3 +- drivers/gpu/drm

Re: [PATCH 1/1] drm/panfrost: Add support for devcoredump

2022-06-07 Thread Adrián Larumbe
On 18.05.2022 13:54, Rob Clark wrote: > On Tue, May 17, 2022 at 10:42 AM Adrián Larumbe > wrote: > > > > In the event of a job timeout, debug dump information will be written into > > /sys/class/devcoredump. > > > > Inspired by etnaviv's similar feature. &

Re: [PATCH v4 2/2] drm/panfrost: Add support for devcoredump

2022-07-18 Thread Adrián Larumbe
Hi Steven, once again thanks for the feedback. I was off for some time and then busy with other stuff, but I can finally work on a new revision for the patch On 23.06.2022 13:23, Steven Price wrote: > On 22/06/2022 15:36, Adrián Larumbe wrote: > > In the event of a job timeout, d

[PATCH v5 0/2] devcoredump support for Panfrost GPU driver

2022-07-18 Thread Adrián Larumbe
patch: - Added MMU and JS base and stride macros for range checks within panfrost_core_dump_registers - Fixed dereference-before-assignment BO pointer bug - Chose the right-sized endianness conversion function for header's valid bit Adrián Larumbe (2): drm/panfrost: Add specific register

[PATCH v5 2/2] drm/panfrost: Add support for devcoredump

2022-07-18 Thread Adrián Larumbe
In the event of a job timeout, debug dump information will be written into /sys/class/devcoredump. Inspired by etnaviv's similar feature. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/Kconfig | 1 + drivers/gpu/drm/panfrost/Makefile| 3 +- drivers/gpu/drm

[PATCH v5 1/2] drm/panfrost: Add specific register offset macros for JS and MMU AS

2022-07-18 Thread Adrián Larumbe
Each Panfrost job has its own job slot and MMU address space set of registers, which are selected with a job-specific index. Turn the shift and stride used for selection of the right register set base into a define rather than using magic numbers. Signed-off-by: Adrián Larumbe --- drivers/gpu

[PATCH v6 2/2] drm/panfrost: Add support for devcoredump

2022-07-29 Thread Adrián Larumbe
In the event of a job timeout, debug dump information will be written into /sys/class/devcoredump. Inspired by etnaviv's similar feature. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/Kconfig | 1 + drivers/gpu/drm/panfrost/Makefile| 3 +- drivers/gpu/drm

[PATCH v6 1/2] drm/panfrost: Add specific register offset macros for JS and MMU AS

2022-07-29 Thread Adrián Larumbe
Each Panfrost job has its own job slot and MMU address space set of registers, which are selected with a job-specific index. Turn the shift and stride used for selection of the right register set base into a define rather than using magic numbers. Signed-off-by: Adrián Larumbe --- drivers/gpu

[PATCH v6 0/2] devcoredump support for Panfrost GPU driver

2022-07-29 Thread Adrián Larumbe
: - Expressed MMU_AS_STRIDE as a bitshift to avoid yet another magic number and removed misleading comment on the same line. Adrián Larumbe (2): drm/panfrost: Add specific register offset macros for JS and MMU AS drm/panfrost: Add support for devcoredump drivers/gpu/drm/panfrost/Kconfig

[PATCH v2 3/3] drm/meson: remove drm bridges at aggregate driver unbind time

2022-09-20 Thread Adrián Larumbe
007] == Fix by keeping track of which encoders were initialised in the meson_drm structure and manually removing their bridges at aggregate driver's unbind time. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/meson/meson_dr

[PATCH 2/2] drm/panfrost: replace endian-specific types with generic ones

2022-09-20 Thread Adrián Larumbe
/-/issues/7252 Fixes: 730c2bf4ad39 ("drm/panfrost: Add support for devcoredump") Signed-off-by: Adrián Larumbe --- include/uapi/drm/panfrost_drm.h | 30 +++--- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/include/uapi/drm/panfrost_drm.h b/includ

[PATCH 1/2] drm/panfrost: Remove type name from internal structs

2022-09-20 Thread Adrián Larumbe
From: Steven Price The two structs internal to struct panfrost_dump_object_header were named, but sadly that is incompatible with C++, causing an error: "an anonymous union may only have public non-static data members". However nothing refers to struct pan_reg_hdr and struct pan_bomap_hdr and

[PATCH] drm/panfrost: Give name to anonymous coredump object union

2022-09-12 Thread Adrián Larumbe
Mesa build. Give it a name, and also rename pan_reg_hdr structure because it will always be prefixed by the union name. Bug: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7195 Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/panfrost/panfrost_dump.c | 20 ++-- includ

[PATCH 3/3] drm/meson: remove drm bridges at aggregate driver unbind time

2022-09-18 Thread Adrián Larumbe
007] == Fix by keeping track of which encoders were initialised in the meson_drm structure and manually removing their bridges at aggregate driver's unbind time. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/meson/meson_dr

[PATCH 2/3] drm/meson: explicitly remove aggregate driver at module unload time

2022-09-18 Thread Adrián Larumbe
ver callback for meson-drm, and explicitly deleting the aggregate device. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/meson/meson_drv.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c index 8da454a17

[PATCH 1/3] drm/meson: reorder driver deinit sequence to fix use-after-free bug

2022-09-18 Thread Adrián Larumbe
led for every single bridge linked to the encoder, including the one whose memory had already been deallocated. Fix by calling component_unbind_all after drm_dev_put. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/meson/meson_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --

[PATCH 0/3] drm/meson: fix use-after-free driver unload issues

2022-09-18 Thread Adrián Larumbe
. All three patches have been tested on an Odroid N2+ plus SBC. Adrián Larumbe (3): drm/meson: reorder driver deinit sequence to fix use-after-free bug drm/meson: explicitly remove aggregate driver at module unload time drm/meson: remove drm bridges at aggregate driver unbind time drivers/gpu

Re: [PATCH] drm/panfrost: Give name to anonymous coredump object union

2022-09-19 Thread Adrián Larumbe
Hi Steven, On 13.09.2022 09:45, Steven Price wrote: >On 12/09/2022 17:44, Adrián Larumbe wrote: >> Building Mesa's Perfetto requires including the panfrost drm uAPI header in >> C++ code, but the C++ compiler requires anonymous unions to have only >> public non-static data m

Re: [PATCH 3/3] drm/meson: remove drm bridges at aggregate driver unbind time

2022-09-20 Thread Adrián Larumbe
On 19.09.2022 15:03, Neil Armstrong wrote: > On 19/09/2022 03:09, Adrián Larumbe wrote: > > drm bridges added by meson_encoder_hdmi_init and meson_encoder_cvbs_init > > were not manually removed at module unload time, which caused dangling > > references to freed me

[PATCH v2 3/3] dw-hdmi: remove dead code and fix indentation

2023-06-12 Thread Adrián Larumbe
The hdmi_datamap enum is no longer in use. Also reindent enable_audio's call params. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 22 -- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c

[PATCH v2 2/3] dw-hdmi: truly enforce 420-only formats when drm mode demands it

2023-06-12 Thread Adrián Larumbe
The current output bus format selection logic is enforcing YUV420 even when the drm mode allows for other bus formats as well. Fix it by adding check for 420-only drm modes. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 7 --- 1 file changed, 4 insertions

[PATCH v2 0/3] Add additional YUV420 bus format check for dw-meson's bridge enable

2023-06-12 Thread Adrián Larumbe
This is v2 of: https://lore.kernel.org/dri-devel/20230528140001.1057084-1-adrian.laru...@collabora.com/ The only difference is having added an actual commit message to patch number 3 in the series. Adrián Larumbe (3): drm/meson: dw-hdmi: change YUV420 selection logic at clock setup dw-hdmi

[PATCH v2 1/3] drm/meson: dw-hdmi: change YUV420 selection logic at clock setup

2023-06-12 Thread Adrián Larumbe
will configure a colour space based on the bus format that doesn't match the pixel value we had calculated as described above. Fix it by bringing back dw-hdmi bus format check when picking the right pixel clock. Signed-off-by: Adrián Larumbe --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6

[PATCH] drm: bridge: dw_hdmi: fix connector access for scdc

2023-06-01 Thread Adrián Larumbe
enablement stage. Signed-off-by: Adrián Larumbe Fixes: 5d844091f237 ("drm/scdc-helper: Pimp SCDC debugs") --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/dr

[PATCH 0/3] Add additional YUV420 bus format check for dw-meson's bridge enable

2023-05-28 Thread Adrián Larumbe
. I fixed it by bringing back dw-hdmi bus format check in dw-meson. The second patch makes sure YUV420 bus format is the only one being returned by dw-hdmi's output format bridge function when that's the only drm mode allowed. Adrián Larumbe (3): drm/meson: dw-hdmi: change YUV420 selection logic at c

  1   2   >