On Thu, 14 Aug 2025, Sidharth Seela <[email protected]> wrote: > [PATCH 2/2] @ drivers/gpu/drm/drm_gpuvm.c : Used '..' to escape the > block of comments starting at line 2435. > > Changes from 1/2: As the previous patch involved too many line > changes, this patch keeps it a bit clean by just having 4 changes. > > Please Note that I think mentioned in [1] "..code-block :: c" is to be > used for rst pages, but as we are dealing with a c file, > we don't want sphinx to parse the comments as c code, we just want the > comments to be parsed as just comments. > and hence [1] needs to be disregarded.
Really the only two alternatives here are adding ".. code-block:: c" or adding double-colon at the end of the "The expected usage is::" as suggested in [2]. [2] https://lore.kernel.org/r/[email protected] > Refs: [1] > https://lore.kernel.org/all/[email protected]/ > signed-off-by:Sidharth Seela<[email protected]> > -------------------------------------------------------------------------------------------------------------------------------------------------------- > commit 8c6b6943261764bdfeeebfc358aa0f34e30fb6b5 > Author: Sidharth Seela <[email protected]> > AuthorDate: Thu Aug 14 19:11:44 2025 +0530 > Commit: Sidharth Seela <[email protected]> > CommitDate: Thu Aug 14 19:11:44 2025 +0530 > > '..' used as escape. New-lines removed to take code as a block. Please read [3] on how to format and send patches. Use git send-email possibly with git format-patch. The AuthorDate and CommitDate stuff from --pretty=fuller do not belong here. Separate mailing list discussions from patch emails. Possibly add a cover letter for the explanatory texts. Use 'git commit -s' to add the Signed-off-by trailer properly. Please look at git log for proper Subject prefix, subject, and commit message formatting. [3] https://docs.kernel.org/process/submitting-patches.html > --- > drivers/gpu/drm/drm_gpuvm.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_gpuvm.c b/drivers/gpu/drm/drm_gpuvm.c > index bbc7fecb6f4a..d01eaa353f72 100644 > --- a/drivers/gpu/drm/drm_gpuvm.c > +++ b/drivers/gpu/drm/drm_gpuvm.c > @@ -2432,12 +2432,10 @@ static const struct drm_gpuvm_ops lock_ops = { > * > * The expected usage is: > * > - * vm_bind { > + *.. vm_bind { This won't do what we want. > * struct drm_exec exec; > - * We'll want to keep the newlines. BR, Jani. > * // IGNORE_DUPLICATES is required, INTERRUPTIBLE_WAIT is > recommended: > * drm_exec_init(&exec, IGNORE_DUPLICATES | INTERRUPTIBLE_WAIT, 0); > - * > * drm_exec_until_all_locked (&exec) { > * for_each_vm_bind_operation { > * switch (op->op) { > @@ -2450,7 +2448,6 @@ static const struct drm_gpuvm_ops lock_ops = { > * obj, op->obj_offset); > * break; > * } > - * > * drm_exec_retry_on_contention(&exec); > * if (ret) > * return ret; > -- > 2.39.5 (Apple Git-154) > > > On Thu, Aug 14, 2025 at 6:02 PM Sidharth Seela <[email protected]> > wrote: >> >> Thank you Jani >> [BUG: Comment parsing error] >> What I did -> Applied the patch, you referred [1] >> https://lore.kernel.org/r/[email protected]. >> What I got-> error message pasted below. >> What I think might be the problem -> I believe ampersand's are being >> parsed as ':c:type:' while document generation >> >> --------ERROR MESSAGE START:--------- >> linux/Documentation/gpu/drm-mm:506: >> ./drivers/gpu/drm/drm_gpuvm.c:2434: WARNING: Lexing literal_block >> 'vm_bind {\n struct drm_exec exec;\n\n // IGNORE_DUPLICATES is >> required, INTERRUPTIBLE_WAIT is recommended:\n >> drm_exec_init(:c:type:`exec`, IGNORE_DUPLICATES | INTERRUPTIBLE_WAIT, >> 0);\n\n drm_exec_until_all_locked (:c:type:`exec`) {\n >> for_each_vm_bind_operation {\n switch (op->op) {\n >> case DRIVER_OP_UNMAP:\n ret = >> drm_gpuvm_sm_unmap_exec_lock(gpuvm, :c:type:`exec`, op->addr, >> op->range);\n break;\n case DRIVER_OP_MAP:\n >> ret = drm_gpuvm_sm_map_exec_lock(gpuvm, :c:type:`exec`, >> num_fences,\n >> op->addr, op->range,\n >> obj, op->obj_offset);\n break;\n }\n\n >> drm_exec_retry_on_contention(:c:type:`exec`);\n if >> (ret)\n return ret;\n }\n }\n}' as "c" >> resulted in an error at token: '`'. Retrying in relaxed mode. >> [misc.highlighting_failure] >> --------ERROR MESSAGE END:--------- >> PS: reporting this first, to give heads up, parallely trying to debug. >> >> >> On Wed, Aug 13, 2025 at 4:00 PM Jani Nikula <[email protected]> >> wrote: >> > >> > On Tue, 12 Aug 2025, Sidharth Seela <[email protected]> wrote: >> > > Dear Maintainers, >> > > This is my first patch, please bear with me. >> > > I request you to suggest if it can be better. >> > > Your time is appreciated. >> > >> > A simpler fix is already on the list [1]. >> > >> > BR, >> > Jani. >> > >> > >> > [1] https://lore.kernel.org/r/[email protected] >> > >> > > --------------------------------------------------------------------------- >> > > commit 4ed9c00376c616cdbfb978b5fd76911cccd63b26 >> > > Author: Sidharth Seela <[email protected]> >> > > AuthorDate: Tue Aug 12 15:56:03 2025 +0530 >> > > Commit: Sidharth Seela <[email protected]> >> > > CommitDate: Tue Aug 12 15:56:03 2025 +0530 >> > > >> > > cleaned up errors stemming for multiline text >> > > --- >> > > drivers/gpu/drm/drm_gpuvm.c | 50 ++++++++++++++++++------------------- >> > > 1 file changed, 25 insertions(+), 25 deletions(-) >> > > >> > > diff --git a/drivers/gpu/drm/drm_gpuvm.c b/drivers/gpu/drm/drm_gpuvm.c >> > > index bbc7fecb6f4a..cf49dbfcec91 100644 >> > > --- a/drivers/gpu/drm/drm_gpuvm.c >> > > +++ b/drivers/gpu/drm/drm_gpuvm.c >> > > @@ -2432,31 +2432,31 @@ static const struct drm_gpuvm_ops lock_ops = { >> > > * >> > > * The expected usage is: >> > > * >> > > - * vm_bind { >> > > - * struct drm_exec exec; >> > > - * >> > > - * // IGNORE_DUPLICATES is required, INTERRUPTIBLE_WAIT is >> > > recommended: >> > > - * drm_exec_init(&exec, IGNORE_DUPLICATES | INTERRUPTIBLE_WAIT, >> > > 0); >> > > - * >> > > - * drm_exec_until_all_locked (&exec) { >> > > - * for_each_vm_bind_operation { >> > > - * switch (op->op) { >> > > - * case DRIVER_OP_UNMAP: >> > > - * ret = drm_gpuvm_sm_unmap_exec_lock(gpuvm, >> > > &exec, op->addr, op->range); >> > > - * break; >> > > - * case DRIVER_OP_MAP: >> > > - * ret = drm_gpuvm_sm_map_exec_lock(gpuvm, &exec, >> > > num_fences, >> > > - * op->addr, >> > > op->range, >> > > - * obj, >> > > op->obj_offset); >> > > - * break; >> > > - * } >> > > - * >> > > - * drm_exec_retry_on_contention(&exec); >> > > - * if (ret) >> > > - * return ret; >> > > - * } >> > > - * } >> > > - * } >> > > + * * vm_bind { >> > > + * * struct drm_exec exec; >> > > + * * >> > > + * * // IGNORE_DUPLICATES is required, INTERRUPTIBLE_WAIT is >> > > recommended: >> > > + * * drm_exec_init(&exec, IGNORE_DUPLICATES | INTERRUPTIBLE_WAIT, >> > > 0); >> > > + * * >> > > + * * drm_exec_until_all_locked (&exec) { >> > > + * * for_each_vm_bind_operation { >> > > + * * switch (op->op) { >> > > + * * case DRIVER_OP_UNMAP: >> > > + * * ret = drm_gpuvm_sm_unmap_exec_lock(gpuvm, >> > > &exec, op->addr, op->range); >> > > + * * break; >> > > + * * case DRIVER_OP_MAP: >> > > + * * ret = drm_gpuvm_sm_map_exec_lock(gpuvm, &exec, >> > > num_fences, >> > > + * * op->addr, >> > > op->range, >> > > + * * obj, >> > > op->obj_offset); >> > > + * * break; >> > > + * * } >> > > + * * >> > > + * * drm_exec_retry_on_contention(&exec); >> > > + * * if (ret) >> > > + * * return ret; >> > > + * * } >> > > + * * } >> > > + * * } >> > > * >> > > * This enables all locking to be performed before the driver begins >> > > modifying >> > > * the VM. This is safe to do in the case of overlapping >> > > DRIVER_VM_BIND_OPs, >> > > -- >> > > 2.39.5 >> > > signed-off-by:Sidharth Seela<[email protected]> >> > >> > -- >> > Jani Nikula, Intel >> >> >> >> -- >> Thanks, >> Sidharth Seela >> +91 - 8826248419 >> www.realtimedesign.org -- Jani Nikula, Intel
