public inbox for linux-staging@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH 0/2] staging: vc04_services: Remove completed TODO items
@ 2023-10-25 10:32 Umang Jain
  2023-10-25 10:32 ` [PATCH 1/2] staging: vc04_services: Drop completed TODO item Umang Jain
  2023-10-25 10:33 ` [PATCH 2/2] " Umang Jain
  0 siblings, 2 replies; 7+ messages in thread
From: Umang Jain @ 2023-10-25 10:32 UTC (permalink / raw)
  To: linux-staging, linux-rpi-kernel, linux-media, linux-arm-kernel
  Cc: Stefan Wahren, Greg Kroah-Hartman, Kieran Bingham,
	Laurent Pinchart, Dan Carpenter, Umang Jain

As per staging-next, there are two items which are completed.
Drop those two entries from the vc04_services TODOs.

1/2 drop the item which was addressed by vchiq-bus and struct
vchiq_device per device handling. All blockers have been resolved and
landed in staging-next as of today.

2/2 was already completed as far as I can see.
It was also confirmed by Stefan here [1].

[1]: https://lore.kernel.org/lkml/79cf6cc0-d071-f834-1db9-cb5411c1f356@i2se.com/

Umang Jain (2):
  staging: vc04_services: Drop completed TODO item
  staging: vc04_services: Drop completed TODO item

 drivers/staging/vc04_services/interface/TODO | 15 ---------------
 1 file changed, 15 deletions(-)


base-commit: 5d9f6f26ec6656b43bf90f12705dbe88ce77f8d5
-- 
2.41.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] staging: vc04_services: Drop completed TODO item
  2023-10-25 10:32 [PATCH 0/2] staging: vc04_services: Remove completed TODO items Umang Jain
@ 2023-10-25 10:32 ` Umang Jain
  2023-10-25 16:46   ` Stefan Wahren
  2023-10-25 10:33 ` [PATCH 2/2] " Umang Jain
  1 sibling, 1 reply; 7+ messages in thread
From: Umang Jain @ 2023-10-25 10:32 UTC (permalink / raw)
  To: linux-staging, linux-rpi-kernel, linux-media, linux-arm-kernel
  Cc: Stefan Wahren, Greg Kroah-Hartman, Kieran Bingham,
	Laurent Pinchart, Dan Carpenter, Umang Jain

Drop the TODO item which deals with non-essential global
structures and per-device structure. All this has been
handled now through vchiq-bus and struct vchiq_device.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
---
 drivers/staging/vc04_services/interface/TODO | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/staging/vc04_services/interface/TODO b/drivers/staging/vc04_services/interface/TODO
index 6d9d4a800aa7..9c79ed549831 100644
--- a/drivers/staging/vc04_services/interface/TODO
+++ b/drivers/staging/vc04_services/interface/TODO
@@ -46,14 +46,6 @@ The code follows the 80 characters limitation yet tends to go 3 or 4 levels of
 indentation deep making it very unpleasant to read. This is specially relevant
 in the character driver ioctl code and in the core thread functions.
 
-* Get rid of all non essential global structures and create a proper per
-device structure
-
-The first thing one generally sees in a probe function is a memory allocation
-for all the device specific data. This structure is then passed all over the
-driver. This is good practice since it makes the driver work regardless of the
-number of devices probed.
-
 * Clean up Sparse warnings from __user annotations. See
 vchiq_irq_queue_bulk_tx_rx(). Ensure that the address of "&waiter->bulk_waiter"
 is never disclosed to userspace.
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] staging: vc04_services: Drop completed TODO item
  2023-10-25 10:32 [PATCH 0/2] staging: vc04_services: Remove completed TODO items Umang Jain
  2023-10-25 10:32 ` [PATCH 1/2] staging: vc04_services: Drop completed TODO item Umang Jain
@ 2023-10-25 10:33 ` Umang Jain
  2023-10-25 10:46   ` Laurent Pinchart
  1 sibling, 1 reply; 7+ messages in thread
From: Umang Jain @ 2023-10-25 10:33 UTC (permalink / raw)
  To: linux-staging, linux-rpi-kernel, linux-media, linux-arm-kernel
  Cc: Stefan Wahren, Greg Kroah-Hartman, Kieran Bingham,
	Laurent Pinchart, Dan Carpenter, Umang Jain

Memory barries and remote_event_*() are documented.
Drop the TODO item related to them.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
---
 drivers/staging/vc04_services/interface/TODO | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/staging/vc04_services/interface/TODO b/drivers/staging/vc04_services/interface/TODO
index 9c79ed549831..2d51f6928e0f 100644
--- a/drivers/staging/vc04_services/interface/TODO
+++ b/drivers/staging/vc04_services/interface/TODO
@@ -33,13 +33,6 @@ such as dev_info, dev_dbg, and friends.
 A short top-down description of this driver's architecture (function of
 kthreads, userspace, limitations) could be very helpful for reviewers.
 
-* Review and comment memory barriers
-
-There is a heavy use of memory barriers in this driver, it would be very
-beneficial to go over all of them and, if correct, comment on their merits.
-Extra points to whomever confidently reviews the remote_event_*() family of
-functions.
-
 * Reformat core code with more sane indentations
 
 The code follows the 80 characters limitation yet tends to go 3 or 4 levels of
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] staging: vc04_services: Drop completed TODO item
  2023-10-25 10:33 ` [PATCH 2/2] " Umang Jain
@ 2023-10-25 10:46   ` Laurent Pinchart
  2023-10-25 11:26     ` Stefan Wahren
  0 siblings, 1 reply; 7+ messages in thread
From: Laurent Pinchart @ 2023-10-25 10:46 UTC (permalink / raw)
  To: Umang Jain
  Cc: linux-staging, linux-rpi-kernel, linux-media, linux-arm-kernel,
	Stefan Wahren, Greg Kroah-Hartman, Kieran Bingham, Dan Carpenter

On Wed, Oct 25, 2023 at 06:33:00AM -0400, Umang Jain wrote:
> Memory barries and remote_event_*() are documented.
> Drop the TODO item related to them.
> 
> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
> ---
>  drivers/staging/vc04_services/interface/TODO | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/drivers/staging/vc04_services/interface/TODO b/drivers/staging/vc04_services/interface/TODO
> index 9c79ed549831..2d51f6928e0f 100644
> --- a/drivers/staging/vc04_services/interface/TODO
> +++ b/drivers/staging/vc04_services/interface/TODO
> @@ -33,13 +33,6 @@ such as dev_info, dev_dbg, and friends.
>  A short top-down description of this driver's architecture (function of
>  kthreads, userspace, limitations) could be very helpful for reviewers.
>  
> -* Review and comment memory barriers
> -
> -There is a heavy use of memory barriers in this driver, it would be very
> -beneficial to go over all of them and, if correct, comment on their merits.
> -Extra points to whomever confidently reviews the remote_event_*() family of
> -functions.
> -

Is vchiq so timing sensitive that it can't afford spinlocks ?

>  * Reformat core code with more sane indentations
>  
>  The code follows the 80 characters limitation yet tends to go 3 or 4 levels of

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] staging: vc04_services: Drop completed TODO item
  2023-10-25 10:46   ` Laurent Pinchart
@ 2023-10-25 11:26     ` Stefan Wahren
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Wahren @ 2023-10-25 11:26 UTC (permalink / raw)
  To: Laurent Pinchart, Umang Jain, Phil Elwell, Dave Stevenson
  Cc: linux-staging, linux-rpi-kernel, linux-media, linux-arm-kernel,
	Stefan Wahren, Greg Kroah-Hartman, Kieran Bingham, Dan Carpenter

Hi,

[add the Raspberry Pi guys]

Am 25.10.23 um 12:46 schrieb Laurent Pinchart:
> On Wed, Oct 25, 2023 at 06:33:00AM -0400, Umang Jain wrote:
>> Memory barries and remote_event_*() are documented.
>> Drop the TODO item related to them.
>>
>> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
>> ---
>>   drivers/staging/vc04_services/interface/TODO | 7 -------
>>   1 file changed, 7 deletions(-)
>>
>> diff --git a/drivers/staging/vc04_services/interface/TODO b/drivers/staging/vc04_services/interface/TODO
>> index 9c79ed549831..2d51f6928e0f 100644
>> --- a/drivers/staging/vc04_services/interface/TODO
>> +++ b/drivers/staging/vc04_services/interface/TODO
>> @@ -33,13 +33,6 @@ such as dev_info, dev_dbg, and friends.
>>   A short top-down description of this driver's architecture (function of
>>   kthreads, userspace, limitations) could be very helpful for reviewers.
>>
>> -* Review and comment memory barriers
>> -
>> -There is a heavy use of memory barriers in this driver, it would be very
>> -beneficial to go over all of them and, if correct, comment on their merits.
>> -Extra points to whomever confidently reviews the remote_event_*() family of
>> -functions.
>> -
from my point of view this part is done.
> Is vchiq so timing sensitive that it can't afford spinlocks ?
Sorry, i cannot answer this question. Maybe Phil or Dave?
>
>>   * Reformat core code with more sane indentations
>>
>>   The code follows the 80 characters limitation yet tends to go 3 or 4 levels of


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] staging: vc04_services: Drop completed TODO item
  2023-10-25 10:32 ` [PATCH 1/2] staging: vc04_services: Drop completed TODO item Umang Jain
@ 2023-10-25 16:46   ` Stefan Wahren
       [not found]     ` <019c778c-4bf2-5d1c-769a-2b0fc5eb2a2e@ideasonboard.com>
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Wahren @ 2023-10-25 16:46 UTC (permalink / raw)
  To: Umang Jain, linux-staging, linux-rpi-kernel, linux-media,
	linux-arm-kernel
  Cc: Stefan Wahren, Greg Kroah-Hartman, Kieran Bingham,
	Laurent Pinchart, Dan Carpenter

Hi Umang,

Am 25.10.23 um 12:32 schrieb Umang Jain:
> Drop the TODO item which deals with non-essential global
> structures and per-device structure. All this has been
> handled now through vchiq-bus and struct vchiq_device.
>
> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
> ---
>   drivers/staging/vc04_services/interface/TODO | 8 --------
>   1 file changed, 8 deletions(-)
>
> diff --git a/drivers/staging/vc04_services/interface/TODO b/drivers/staging/vc04_services/interface/TODO
> index 6d9d4a800aa7..9c79ed549831 100644
> --- a/drivers/staging/vc04_services/interface/TODO
> +++ b/drivers/staging/vc04_services/interface/TODO
> @@ -46,14 +46,6 @@ The code follows the 80 characters limitation yet tends to go 3 or 4 levels of
>   indentation deep making it very unpleasant to read. This is specially relevant
>   in the character driver ioctl code and in the core thread functions.
>
> -* Get rid of all non essential global structures and create a proper per
> -device structure
at first thank for all the great work. Currently i don't have much time
to give a feedback for everything :-(

Tbh this TODO is not finished yet. There are still global structures.
Please look at variables starting with g_* in vchiq_arm.c and
vchiq_connected.c

Unfortunately i cannot tell which of them are easy to move into the
device structure.
> -
> -The first thing one generally sees in a probe function is a memory allocation
> -for all the device specific data. This structure is then passed all over the
> -driver. This is good practice since it makes the driver work regardless of the
> -number of devices probed.
> -
>   * Clean up Sparse warnings from __user annotations. See
>   vchiq_irq_queue_bulk_tx_rx(). Ensure that the address of "&waiter->bulk_waiter"
>   is never disclosed to userspace.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] staging: vc04_services: Drop completed TODO item
       [not found]     ` <019c778c-4bf2-5d1c-769a-2b0fc5eb2a2e@ideasonboard.com>
@ 2023-10-26 13:44       ` Stefan Wahren
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Wahren @ 2023-10-26 13:44 UTC (permalink / raw)
  To: Umang Jain
  Cc: linux-staging, Kieran Bingham, Laurent Pinchart, Dan Carpenter,
	Greg Kroah-Hartman

Hi Umang,

i hope it's okay to add the most of the recipients again.

Am 26.10.23 um 14:42 schrieb Umang Jain:
> Hi Stefan
>
> On 10/25/23 10:16 PM, Stefan Wahren wrote:
>> Hi Umang,
>>
>> Am 25.10.23 um 12:32 schrieb Umang Jain:
>>> Drop the TODO item which deals with non-essential global
>>> structures and per-device structure. All this has been
>>> handled now through vchiq-bus and struct vchiq_device.
>>>
>>> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
>>> ---
>>>   drivers/staging/vc04_services/interface/TODO | 8 --------
>>>   1 file changed, 8 deletions(-)
>>>
>>> diff --git a/drivers/staging/vc04_services/interface/TODO
>>> b/drivers/staging/vc04_services/interface/TODO
>>> index 6d9d4a800aa7..9c79ed549831 100644
>>> --- a/drivers/staging/vc04_services/interface/TODO
>>> +++ b/drivers/staging/vc04_services/interface/TODO
>>> @@ -46,14 +46,6 @@ The code follows the 80 characters limitation yet
>>> tends to go 3 or 4 levels of
>>>   indentation deep making it very unpleasant to read. This is
>>> specially relevant
>>>   in the character driver ioctl code and in the core thread functions.
>>>
>>> -* Get rid of all non essential global structures and create a
>>> proper per
>>> -device structure
>> at first thank for all the great work. Currently i don't have much time
>> to give a feedback for everything :-(
>
> No worries. As long as things are progressing, I don't mind.
>>
>> Tbh this TODO is not finished yet. There are still global structures.
>> Please look at variables starting with g_* in vchiq_arm.c and
>> vchiq_connected.c
>>
>
> Ah just saw them now. Oh god, these are a pain.
>> Unfortunately i cannot tell which of them are easy to move into the
>> device structure.
>
> Indeed. I don't have much time left this week, so probably I'll start
> developing something over next week. :-/
>
> Also do you know where I can find some overview documentation of the
> driver itself? I don't think I understand the details of "how this
> driver is supposed to function" in the first place.
unfortunately this is the reason for point 4 in the TODO list.

In the past i started a request in the Raspberry Pi github [1], but i
didn't get a fully satisfying response. Maybe this kind of documentation
is under NDA.

I vaguely remember of a little bit documentation on Github, but it
wasn't specific to the Linux driver.

[1] - https://github.com/raspberrypi/linux/issues/2730


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-10-26 13:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-25 10:32 [PATCH 0/2] staging: vc04_services: Remove completed TODO items Umang Jain
2023-10-25 10:32 ` [PATCH 1/2] staging: vc04_services: Drop completed TODO item Umang Jain
2023-10-25 16:46   ` Stefan Wahren
     [not found]     ` <019c778c-4bf2-5d1c-769a-2b0fc5eb2a2e@ideasonboard.com>
2023-10-26 13:44       ` Stefan Wahren
2023-10-25 10:33 ` [PATCH 2/2] " Umang Jain
2023-10-25 10:46   ` Laurent Pinchart
2023-10-25 11:26     ` Stefan Wahren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox