[PATCH v10 08/12] drm/bridge: lvds-codec: Implement basic bus format negotiation

Sam Ravnborg sam at ravnborg.org
Tue Feb 25 06:15:43 UTC 2020


Hi Boris/Laurent.

> > +
> > +	err = of_property_read_u32(np, "bus-width", &input_bus_width);
> > +	of_node_put(np);
> > +
> > +	if (err) {
> > +		lvds_codec->input_fmt = MEDIA_BUS_FMT_FIXED;
> > +	} else if (input_bus_width == 18) {
> > +		lvds_codec->input_fmt = MEDIA_BUS_FMT_RGB666_1X18;
> > +	} else if (input_bus_width == 24) {
> > +		lvds_codec->input_fmt = MEDIA_BUS_FMT_RGB888_1X24;
> > +	} else {
> > +		dev_dbg(dev, "unsupported bus-width value %u on port 0\n",
> > +			input_bus_width);
> > +		return -ENOTSUPP;
> 
> ENOTSUPP is "Operation not supported", I'd go for -EINVAL.
> 
> > +	}
> 
> Doesn't this apply to LVDS encoders only ? For LVDS decoders I don't
> think we want to report an RGB format on the input.

In panel-lvds we use the property "data-mapping" for the same purpose.
To specify the MEDIA_BUS format.

It would be good to standardize on the same property, and maybe have the
same binding descriptions for all.

And "data-mapping" is a text string, which gives us more flexibility
than just a number, that for MEDIA_BUS_FMT seems required.

	Sam


More information about the dri-devel mailing list