aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/drm
diff options
context:
space:
mode:
authorAbhinav Kumar <quic_abhinavk@quicinc.com>2022-04-26 07:41:19 -0700
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2022-05-02 02:12:59 +0300
commit7933aecffa28a1746997436426b5df767b2df925 (patch)
tree1c44e9617e6933137175e5b6903c88f8295d15a4 /include/drm
parentdrm: allow passing possible_crtcs to drm_writeback_connector_init() (diff)
downloadwireguard-linux-7933aecffa28a1746997436426b5df767b2df925.tar.xz
wireguard-linux-7933aecffa28a1746997436426b5df767b2df925.zip
drm: introduce drm_writeback_connector_init_with_encoder() API
For vendors drivers which pass an already allocated and initialized encoder especially for cases where the encoder hardware is shared OR the writeback encoder shares the resources with the rest of the display pipeline introduce a new API, drm_writeback_connector_init_with_encoder() which expects an initialized encoder as a parameter and only sets up the writeback connector. changes in v5: - fix the encoder doc to indicate that its not valid for users of drm_writeback_connector_init_with_encoder() Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Patchwork: https://patchwork.freedesktop.org/patch/483500/ Link: https://lore.kernel.org/r/1650984096-9964-3-git-send-email-quic_abhinavk@quicinc.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm_writeback.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/drm/drm_writeback.h b/include/drm/drm_writeback.h
index 5d9263fdbd84..17e576c80169 100644
--- a/include/drm/drm_writeback.h
+++ b/include/drm/drm_writeback.h
@@ -30,6 +30,8 @@ struct drm_writeback_connector {
* @drm_writeback_connector control the behaviour of the @encoder
* by passing the @enc_funcs parameter to drm_writeback_connector_init()
* function.
+ * For users of drm_writeback_connector_init_with_encoder(), this field
+ * is not valid as the encoder is managed within their drivers.
*/
struct drm_encoder encoder;
@@ -153,6 +155,12 @@ int drm_writeback_connector_init(struct drm_device *dev,
const u32 *formats, int n_formats,
u32 possible_crtcs);
+int drm_writeback_connector_init_with_encoder(struct drm_device *dev,
+ struct drm_writeback_connector *wb_connector,
+ struct drm_encoder *enc,
+ const struct drm_connector_funcs *con_funcs, const u32 *formats,
+ int n_formats);
+
int drm_writeback_set_fb(struct drm_connector_state *conn_state,
struct drm_framebuffer *fb);