Re: [RFC 2/5] media-device: Add a graph_complete callback to struct media_device_ops

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

 



Hi Niklas,

Thank you for the patch.

On Wed, Mar 18, 2020 at 10:30:48PM +0100, Niklas Söderlund wrote:
> Add a new graph_complete operation to struct media_device_ops. The
> callback is optional to implement. If it's implemented it shall return
> the status about the media graphs completes. If all entities that the
> media device could contain is registered in the graph it shall return
> true, otherwise false.

I'd rather do it the other way around, implement a function that drivers
can call to signal completion. It will store the flag internally in
media_device, and will also be able to send an event to notify
userspace (once we get MC events).

> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
> ---
>  include/media/media-device.h | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/include/media/media-device.h b/include/media/media-device.h
> index fa089543072052cf..f637ad2eee38f456 100644
> --- a/include/media/media-device.h
> +++ b/include/media/media-device.h
> @@ -61,6 +61,8 @@ struct media_entity_notify {
>   *	       request (and thus the buffer) must be available to the driver.
>   *	       And once a buffer is queued, then the driver can complete
>   *	       or delete objects from the request before req_queue exits.
> + * @graph_complete: Check if the media device graph is complete and all entries
> + *		    have been added to the graph.
>   */
>  struct media_device_ops {
>  	int (*link_notify)(struct media_link *link, u32 flags,
> @@ -69,6 +71,7 @@ struct media_device_ops {
>  	void (*req_free)(struct media_request *req);
>  	int (*req_validate)(struct media_request *req);
>  	void (*req_queue)(struct media_request *req);
> +	bool (*graph_complete)(struct media_device *mdev);
>  };
>  
>  /**

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux