Signed-off-by: Suraj Kandpal <[email protected]>
Reviewed-by: John Harrison <[email protected]>
---
v5 -> v6:
- Rebase over latest kernel
v4 -> v5:
- Make @connector kerneldoc wording consistent across the series (John)
- Fix Drm -> DRM (John)
v3 -> v4:
- Update subject line for consitency (John)
- Update commit message across commits for consitency (John)
- Rename writeback to wb_connector in rcar_du_crtc for clarity (John)
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c | 2 +-
.../drm/arm/display/komeda/komeda_wb_connector.c | 5 +----
drivers/gpu/drm/arm/malidp_mw.c | 2 +-
drivers/gpu/drm/drm_writeback.c | 13 +++++++------
drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c | 2 +-
drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c | 3 +--
drivers/gpu/drm/vc4/vc4_txp.c | 2 +-
drivers/gpu/drm/vkms/vkms_writeback.c | 4 ++--
include/drm/drm_writeback.h | 4 ++--
9 files changed, 17 insertions(+), 20 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c
index 18ef4ce73b46..92039d93f9e4 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c
@@ -207,7 +207,7 @@ int amdgpu_dm_wb_connector_init(struct
amdgpu_display_manager *dm,
drm_connector_helper_add(&wbcon->base, &amdgpu_dm_wb_conn_helper_funcs);
- res = drmm_writeback_connector_init(&dm->adev->ddev, &wbcon->base.writeback,
+ res = drmm_writeback_connector_init(&dm->adev->ddev, &wbcon->base,
&amdgpu_dm_wb_connector_funcs,
encoder,
amdgpu_dm_wb_formats,
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
b/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
index 848ac37a76e4..b6476c3b2ca7 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
@@ -135,7 +135,6 @@ static int komeda_wb_connector_add(struct komeda_kms_dev
*kms,
{
struct komeda_dev *mdev = kms->base.dev_private;
struct komeda_wb_connector *kwb_conn;
- struct drm_writeback_connector *wb_conn;
struct drm_display_info *info;
struct drm_encoder *encoder;
@@ -151,8 +150,6 @@ static int komeda_wb_connector_add(struct komeda_kms_dev *kms,
kwb_conn->wb_layer = kcrtc->master->wb_layer;
- wb_conn = &kwb_conn->base.writeback;
-
formats = komeda_get_layer_fourcc_list(&mdev->fmt_tbl,
kwb_conn->wb_layer->layer_type,
&n_formats);
@@ -173,7 +170,7 @@ static int komeda_wb_connector_add(struct komeda_kms_dev
*kms,
encoder->possible_crtcs = drm_crtc_mask(&kcrtc->base);
- err = drmm_writeback_connector_init(&kms->base, wb_conn,
+ err = drmm_writeback_connector_init(&kms->base, &kwb_conn->base,
&komeda_wb_connector_funcs,
encoder,
formats, n_formats);
diff --git a/drivers/gpu/drm/arm/malidp_mw.c b/drivers/gpu/drm/arm/malidp_mw.c
index 4c77a459c241..271ec83c7e48 100644
--- a/drivers/gpu/drm/arm/malidp_mw.c
+++ b/drivers/gpu/drm/arm/malidp_mw.c
@@ -229,7 +229,7 @@ int malidp_mw_connector_init(struct drm_device *drm)
encoder->possible_crtcs = drm_crtc_mask(&malidp->crtc);
- ret = drmm_writeback_connector_init(drm, &malidp->mw_connector.writeback,
+ ret = drmm_writeback_connector_init(drm, &malidp->mw_connector,
&malidp_mw_connector_funcs,
encoder,
formats, n_formats);
diff --git a/drivers/gpu/drm/drm_writeback.c b/drivers/gpu/drm/drm_writeback.c
index f93c936643bb..79c4be2acbbe 100644
--- a/drivers/gpu/drm/drm_writeback.c
+++ b/drivers/gpu/drm/drm_writeback.c
@@ -246,7 +246,8 @@ static int __drm_writeback_connector_init(struct drm_device
*dev,
* a custom encoder
*
* @dev: DRM device
- * @wb_connector: Writeback connector to initialize
+ * @connector: DRM connector which contains the writeback connector to
initialize
+ * @enc: handle to the already initialized drm encoder
* @con_funcs: Connector funcs vtable
* @enc: handle to the already initialized drm encoder
* @formats: Array of supported pixel formats for the writeback engine
@@ -271,12 +272,12 @@ static int __drm_writeback_connector_init(struct
drm_device *dev,
* Returns: 0 on success, or a negative error code
*/
int drm_writeback_connector_init(struct drm_device *dev,
- struct drm_writeback_connector *wb_connector,
+ struct drm_connector *connector,
const struct drm_connector_funcs *con_funcs,
struct drm_encoder *enc,
const u32 *formats, int n_formats)
{
- struct drm_connector *connector =
drm_writeback_to_connector(wb_connector);
+ struct drm_writeback_connector *wb_connector = &connector->writeback;
int ret;
ret = drm_connector_init(dev, connector, con_funcs,
@@ -325,7 +326,7 @@ static void drm_writeback_connector_cleanup(struct
drm_device *dev,
* a custom encoder
*
* @dev: DRM device
- * @wb_connector: Writeback connector to initialize
+ * @connector: DRM connector which contains the writeback connector to
initialize
* @con_funcs: Connector funcs vtable
* @enc: Encoder to connect this writeback connector
* @formats: Array of supported pixel formats for the writeback engine
@@ -341,12 +342,12 @@ static void drm_writeback_connector_cleanup(struct
drm_device *dev,
* Returns: 0 on success, or a negative error code
*/
int drmm_writeback_connector_init(struct drm_device *dev,
- struct drm_writeback_connector *wb_connector,
+ struct drm_connector *connector,
const struct drm_connector_funcs *con_funcs,
struct drm_encoder *enc,
const u32 *formats, int n_formats)
{
- struct drm_connector *connector =
drm_writeback_to_connector(wb_connector);
+ struct drm_writeback_connector *wb_connector = &connector->writeback;
int ret;
ret = drmm_connector_init(dev, connector, con_funcs,
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c
b/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c
index d1211788625a..c9f53490c1a7 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c
@@ -134,7 +134,7 @@ int dpu_writeback_init(struct drm_device *dev, struct
drm_encoder *enc,
drm_connector_helper_add(&dpu_wb_conn->base, &dpu_wb_conn_helper_funcs);
- rc = drmm_writeback_connector_init(dev, &dpu_wb_conn->base.writeback,
+ rc = drmm_writeback_connector_init(dev, &dpu_wb_conn->base,
&dpu_wb_conn_funcs, enc,
format_list, num_formats);
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c b/drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c
index 39be854c465a..6b27307941a4 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_writeback.c
@@ -201,7 +201,6 @@ static const u32 writeback_formats[] = {
int rcar_du_writeback_init(struct rcar_du_device *rcdu,
struct rcar_du_crtc *rcrtc)
{
- struct drm_writeback_connector *wb_conn =
&rcrtc->wb_connector.writeback;
struct drm_encoder *encoder;
encoder = drmm_plain_encoder_alloc(&rcdu->ddev, NULL,
@@ -216,7 +215,7 @@ int rcar_du_writeback_init(struct rcar_du_device *rcdu,
drm_connector_helper_add(&rcrtc->wb_connector,
&rcar_du_wb_conn_helper_funcs);
- return drmm_writeback_connector_init(&rcdu->ddev, wb_conn,
+ return drmm_writeback_connector_init(&rcdu->ddev, &rcrtc->wb_connector,
&rcar_du_wb_conn_funcs,
encoder,
writeback_formats,
diff --git a/drivers/gpu/drm/vc4/vc4_txp.c b/drivers/gpu/drm/vc4/vc4_txp.c
index 864125cc7d72..f11ad54d067a 100644
--- a/drivers/gpu/drm/vc4/vc4_txp.c
+++ b/drivers/gpu/drm/vc4/vc4_txp.c
@@ -600,7 +600,7 @@ static int vc4_txp_bind(struct device *dev, struct device
*master, void *data)
drm_connector_helper_add(&txp->connector,
&vc4_txp_connector_helper_funcs);
- ret = drmm_writeback_connector_init(drm, &txp->connector.writeback,
+ ret = drmm_writeback_connector_init(drm, &txp->connector,
&vc4_txp_connector_funcs,
encoder,
drm_fmts, ARRAY_SIZE(drm_fmts));
diff --git a/drivers/gpu/drm/vkms/vkms_writeback.c
b/drivers/gpu/drm/vkms/vkms_writeback.c
index 64d524d2168f..9341533b0325 100644
--- a/drivers/gpu/drm/vkms/vkms_writeback.c
+++ b/drivers/gpu/drm/vkms/vkms_writeback.c
@@ -170,7 +170,6 @@ static const struct drm_connector_helper_funcs
vkms_wb_conn_helper_funcs = {
int vkms_enable_writeback_connector(struct vkms_device *vkmsdev,
struct vkms_output *vkms_output)
{
- struct drm_writeback_connector *wb =
&vkms_output->wb_connector.writeback;
int ret;
ret = drmm_encoder_init(&vkmsdev->drm, &vkms_output->wb_encoder,
@@ -183,7 +182,8 @@ int vkms_enable_writeback_connector(struct vkms_device
*vkmsdev,
drm_connector_helper_add(&vkms_output->wb_connector, &vkms_wb_conn_helper_funcs);
- return drmm_writeback_connector_init(&vkmsdev->drm, wb,
+ return drmm_writeback_connector_init(&vkmsdev->drm,
+ &vkms_output->wb_connector,
&vkms_wb_connector_funcs,
&vkms_output->wb_encoder,
vkms_wb_formats,
diff --git a/include/drm/drm_writeback.h b/include/drm/drm_writeback.h
index 702141099520..c6960c7e634e 100644
--- a/include/drm/drm_writeback.h
+++ b/include/drm/drm_writeback.h
@@ -78,13 +78,13 @@ drm_writeback_to_connector(struct drm_writeback_connector
*wb_connector)
}
int drm_writeback_connector_init(struct drm_device *dev,
- struct drm_writeback_connector *wb_connector,
+ struct drm_connector *connector,
const struct drm_connector_funcs *con_funcs,
struct drm_encoder *enc,
const u32 *formats, int n_formats);
int drmm_writeback_connector_init(struct drm_device *dev,
- struct drm_writeback_connector *wb_connector,
+ struct drm_connector *connector,
const struct drm_connector_funcs *con_funcs,
struct drm_encoder *enc,
const u32 *formats, int n_formats);