Re: [PATCH v4 00/15] NVKM GSP RPC kernel docs, cleanups and fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]<

 



Hi Zhi,

On Fri, Jan 24, 2025 at 10:29:43AM -0800, Zhi Wang wrote:
> Hi folks:
> 
> Here is another re-spin of handling the large GSP message return.
> 
> Besides the support of the large GSP message, kernel doc and many cleanups
> are introduced according to the comments in the previous spin [1].
> 
> For testing, I tried the following without any problem:
> 
> - run Uniengine Heaven [2] on my RTX 4060 for 8 hours
> - the GL CTS runner [3] (commandline: ./cts-runner --type-gl40) from
> Khronos
> - with the vGPU RFC patches [4], boot up a ubuntu VM with a vGPU on a L40
> and run glmark2.

Applied to drm-misc-next.

Thanks a lot for this series and the iterations -- those are really good
improvements.

I fixed up the first commit "drm/nouveau: add a kernel doc to introduce the GSP
RPC", which had some indentation issues in the bullet list and the new file was
missing the SPDX-License-Identifier.

When adding documentation, please make sure to check the result after running
the htmldocs make target.

I also fixed up one minor indentation issue in one of the other patches.

Again, thanks for the series!

- Danilo

> 
> v4:
> - Introduce a documentation in Documentation/gpu/nouveau.rst.
> - Fix the reference link of NVIDIA SDK headers in the document.
> - Replace the "decoders" term with "terminology".
> - Explain the adding offset in r535_gsp_msgq_get_entry().
> - Replace the magic number 0x1000 with GSP_PAGE_SIZE in the re-factor.
> - Introduce a DOC to explain the GSP message receiving flow.
> 
> v3:
> 
> - Add a kernel doc and chart to introduce the GSP message and denote the
> memory layout.
> - Add a decoder section in the kernel doc to explain the terms in the code.
> - Refine the many confusing variable names to align with the terms in the
> kernel doc.
> - Introduce the continaution records in the kernel doc.
> - Re-factor the complicated function r535_gsp_msgq_wait().
> - Other minor cleanups.
> 
> v2:
> 
> - Remove the Fixes: tags as the vanilla nouveau aren't going to hit these bugs. (Danilo)
> - Test the patchset on VK-GL-CTS. (Danilo)
> - Remove the ambiguous empty line in PATCH 2. (Danilo)
> - Rename the r535_gsp_msgq_wait to gsp_msgq_recv. (Danilo)
> - Introduce a data structure to hold the params of gsp_msgq_recv(). (Danilo)
> - Document the params and the states they are related to. (Danilo)
> 
> [1] https://lore.kernel.org/nouveau/20241031085250.2941482-1-zhiw@xxxxxxxxxx/
> [2] https://benchmark.unigine.com/heaven
> [3] https://github.com/KhronosGroup/VK-GL-CTS
> [4] https://lore.kernel.org/kvm/20240922124951.1946072-1-zhiw@xxxxxxxxxx/T/#t
> 
> 
> Zhi Wang (15):
>   drm/nouveau: add a kernel doc to introduce the GSP RPC
>   drm/nouveau: rename "repc" to "gsp_rpc_len" on the GSP message recv
>     path
>   drm/nouveau: rename "argv" to what it represents on the GSP message
>     send path
>   drm/nouveau: remove unused param repc in *rm_alloc_push()
>   drm/nouveau: rename "argv" to what it represents in *rm_{alloc,
>     ctrl}_*()
>   drm/nouveau: rename "argc" to what it represents in GSP RPC routines
>   drm/nouveau: fix the broken marco GSP_MSG_MAX_SIZE
>   drm/nouveau: remove the magic number in r535_gsp_rpc_push()
>   drm/nouveau: refine the variable names in r535_gsp_rpc_push()
>   drm/nouveau: refine the variable names in r535_gsp_msg_recv()
>   drm/nouveau: rename the variable "cmd" to "msg" in r535_gsp_cmdq_{get,
>     push}()
>   drm/nouveau: factor out r535_gsp_msgq_peek()
>   drm/nouveau: factor out r535_gsp_msgq_recv_one_elem()
>   drm/nouveau: support handling the return of large GSP message
>   drm/nouveau: consume the return of large GSP message
> 
>  Documentation/gpu/drivers.rst                 |   1 +
>  Documentation/gpu/nouveau.rst                 |  27 +
>  .../gpu/drm/nouveau/include/nvkm/subdev/gsp.h |   8 +-
>  .../gpu/drm/nouveau/nvkm/subdev/gsp/r535.c    | 526 +++++++++++++-----
>  4 files changed, 409 insertions(+), 153 deletions(-)
>  create mode 100644 Documentation/gpu/nouveau.rst
> 
> -- 
> 2.34.1
> 



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux