Message ID | 20190705121006.26085-2-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/5] drm/komeda: Remove clock ratio property | expand |
On Fri, Jul 05, 2019 at 02:10:03PM +0200, Daniel Vetter wrote: > Properties are uapi like anything else, with all the usual rules > regarding review, testcases, open source userspace ... Furthermore > driver-private kms properties are highly discouraged, over the past > few years we've realized we need to make a serious effort at better > standardizing this stuff. > > Again this probably needs multiple pieces to solve this properly: > > - To make plane configuration less surprising to userspace you > propably need to virtualize planes, and reorder which logical plane > you map to which physical one dynamically. Instead of exposing a > komeda-specific limitation to userspace and expecting them to dtrt. > I think msm and rcar-du do that already (and others), if you need > people to chat with or example code. > > - If this is needed for validation, again ->atomic_print_state and the > infrastructure around that is your friend. > > Fixes: 3b9dfa4ef28c ("drm/komeda: Add slave pipeline support") > Cc: Lowry Li (Arm Technology China) <lowry.li@arm.com> > Cc: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Hi Daniel: Thank you for the patch! Reviewed-by: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com> > --- > .../gpu/drm/arm/display/komeda/komeda_crtc.c | 24 ------------------- > .../gpu/drm/arm/display/komeda/komeda_kms.h | 3 --- > 2 files changed, 27 deletions(-) > > diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c > index e852dc27f1b8..f4400788ab94 100644 > --- a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c > +++ b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c > @@ -499,26 +499,6 @@ int komeda_kms_setup_crtcs(struct komeda_kms_dev *kms, > return 0; > } > > -static int komeda_crtc_create_slave_planes_property(struct komeda_crtc *kcrtc) > -{ > - struct drm_crtc *crtc = &kcrtc->base; > - struct drm_property *prop; > - > - if (kcrtc->slave_planes == 0) > - return 0; > - > - prop = drm_property_create_range(crtc->dev, DRM_MODE_PROP_IMMUTABLE, > - "slave_planes", 0, U32_MAX); > - if (!prop) > - return -ENOMEM; > - > - drm_object_attach_property(&crtc->base, prop, kcrtc->slave_planes); > - > - kcrtc->slave_planes_property = prop; > - > - return 0; > -} > - > static struct drm_plane * > get_crtc_primary(struct komeda_kms_dev *kms, struct komeda_crtc *crtc) > { > @@ -555,10 +535,6 @@ static int komeda_crtc_add(struct komeda_kms_dev *kms, > > crtc->port = kcrtc->master->of_output_port; > > - err = komeda_crtc_create_slave_planes_property(kcrtc); > - if (err) > - return err; > - > return err; > } > > diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h > index 2775f34bf4ab..c545cb963d40 100644 > --- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h > +++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h > @@ -94,9 +94,6 @@ struct komeda_crtc { > > /** @disable_done: this flip_done is for tracing the disable */ > struct completion *disable_done; > - > - /** @slave_planes_property: property for slaves of the planes */ > - struct drm_property *slave_planes_property; > }; > > /** > -- > 2.20.1
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c index e852dc27f1b8..f4400788ab94 100644 --- a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c +++ b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c @@ -499,26 +499,6 @@ int komeda_kms_setup_crtcs(struct komeda_kms_dev *kms, return 0; } -static int komeda_crtc_create_slave_planes_property(struct komeda_crtc *kcrtc) -{ - struct drm_crtc *crtc = &kcrtc->base; - struct drm_property *prop; - - if (kcrtc->slave_planes == 0) - return 0; - - prop = drm_property_create_range(crtc->dev, DRM_MODE_PROP_IMMUTABLE, - "slave_planes", 0, U32_MAX); - if (!prop) - return -ENOMEM; - - drm_object_attach_property(&crtc->base, prop, kcrtc->slave_planes); - - kcrtc->slave_planes_property = prop; - - return 0; -} - static struct drm_plane * get_crtc_primary(struct komeda_kms_dev *kms, struct komeda_crtc *crtc) { @@ -555,10 +535,6 @@ static int komeda_crtc_add(struct komeda_kms_dev *kms, crtc->port = kcrtc->master->of_output_port; - err = komeda_crtc_create_slave_planes_property(kcrtc); - if (err) - return err; - return err; } diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h index 2775f34bf4ab..c545cb963d40 100644 --- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h +++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h @@ -94,9 +94,6 @@ struct komeda_crtc { /** @disable_done: this flip_done is for tracing the disable */ struct completion *disable_done; - - /** @slave_planes_property: property for slaves of the planes */ - struct drm_property *slave_planes_property; }; /**
Properties are uapi like anything else, with all the usual rules regarding review, testcases, open source userspace ... Furthermore driver-private kms properties are highly discouraged, over the past few years we've realized we need to make a serious effort at better standardizing this stuff. Again this probably needs multiple pieces to solve this properly: - To make plane configuration less surprising to userspace you propably need to virtualize planes, and reorder which logical plane you map to which physical one dynamically. Instead of exposing a komeda-specific limitation to userspace and expecting them to dtrt. I think msm and rcar-du do that already (and others), if you need people to chat with or example code. - If this is needed for validation, again ->atomic_print_state and the infrastructure around that is your friend. Fixes: 3b9dfa4ef28c ("drm/komeda: Add slave pipeline support") Cc: Lowry Li (Arm Technology China) <lowry.li@arm.com> Cc: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com> Cc: Liviu Dudau <liviu.dudau@arm.com> Cc: Mali DP Maintainers <malidp@foss.arm.com> Cc: Brian Starkey <brian.starkey@arm.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- .../gpu/drm/arm/display/komeda/komeda_crtc.c | 24 ------------------- .../gpu/drm/arm/display/komeda/komeda_kms.h | 3 --- 2 files changed, 27 deletions(-)