[Intel-gfx] RFC: pipe writeback design for i915

Ville Syrjälä ville.syrjala at intel.com
Fri Jan 31 11:57:46 UTC 2020


On Fri, Jan 31, 2020 at 12:00:39PM +0530, Bharadiya,Pankaj wrote:
> I am exploring the way of implementing the pipe writeback feature in i915 and
> would like to get early feedback on design.
> 
> We have a Wireless display(WD) transcoder which can be used for capturing
> display pipe output to memory. It is generally intended for wireless display,
> but can be used for other functions such as in validation automation where crc
> based comparison is not feasible.
> 
> Bspec: 49275
> 
> DRM core provides writeback connectors framework (drm_writeback.c) which can
> be used to expose hardware which can write the output from a pipe to a memory
> buffer.
> 
> Writeback connectors have some additional properties, which userspace can use
> to query and control them, For more details, please refer [1]
> 
> [1] https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-kms.html#writeback-connectors
> 
> 
> In order to implement pipe writeback feature in i915 using drm writeback
> connector framework, I am exploring below possibilities.
> 
>   1. Extend the intel_connector to support writeback
>   2. Introduce new intel_writeback_connector type
>   3. ?? (any other better way?)
> 
> 1# Extend the intel_connector to support writeback
> --------------------------------------------------
> 
> drm_writeback connector is of drm_connector type and intel_connector is also
> of drm_connector type.
> 
>   +-----------------------------------------------------------------------------+
>   |                                     |                                       |
>   | struct drm_writeback_connector {    |    struct intel_connector {           |
>   |         struct drm_connector base;  |            struct drm_connector base; |
>   |         .                           |            .                          |
>   |         .                           |            .                          |
>   |         .                           |            .                          |
>   | };                                  |    };                                 |
>   |                                     |                                       |
>   +-----------------------------------------------------------------------------+

That's a bit unfortunate. We like to use intel_connector quite a bit in
i915 so having two different types is going to be a pita. Ideally I
guess the writeback connector shouldn't be a drm_connector at all and
instead it would just provide some kind of thing to embed into the
driver's connector struct. But that would mean the writeback helpers
would need some other way to get at that data rather than just
container_of().

-- 
Ville Syrjälä
Intel
---------------------------------------------------------------------
Intel Finland Oy
Registered Address: PL 281, 00181 Helsinki 
Business Identity Code: 0357606 - 4 
Domiciled in Helsinki 

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



More information about the Intel-gfx mailing list