Message ID | 087bea83b75afa55f0b156da3893e99c49ebb186.1552492550.git.jsarha@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/bridge: sii902x: HDMI-audio support and some fixes | expand |
Hello Jyri, Thank you for the patch. On Wed, Mar 13, 2019 at 06:01:03PM +0200, Jyri Sarha wrote: > From: Tomi Valkeinen <tomi.valkeinen@ti.com> > > The driver always sets InputBusFmt:EDGE to 0 (falling edge). > > Add drm_bridge_timings's input_bus_flags to reflect that the bridge > samples on falling edges. > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> > Signed-off-by: Jyri Sarha <jsarha@ti.com> > Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/gpu/drm/bridge/sii902x.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c > index bfa902013aa4..1afa000141d5 100644 > --- a/drivers/gpu/drm/bridge/sii902x.c > +++ b/drivers/gpu/drm/bridge/sii902x.c > @@ -459,6 +459,12 @@ static int sii902x_i2c_bypass_deselect(struct i2c_mux_core *mux, u32 chan_id) > return 0; > } > > +static const struct drm_bridge_timings default_sii902x_timings = { > + .input_bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE > + | DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE > + | DRM_BUS_FLAG_DE_HIGH, > +}; > + > static int sii902x_probe(struct i2c_client *client, > const struct i2c_device_id *id) > { > @@ -529,6 +535,7 @@ static int sii902x_probe(struct i2c_client *client, > > sii902x->bridge.funcs = &sii902x_bridge_funcs; > sii902x->bridge.of_node = dev->of_node; > + sii902x->bridge.timings = &default_sii902x_timings; > drm_bridge_add(&sii902x->bridge); > > i2c_set_clientdata(client, sii902x);
diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c index bfa902013aa4..1afa000141d5 100644 --- a/drivers/gpu/drm/bridge/sii902x.c +++ b/drivers/gpu/drm/bridge/sii902x.c @@ -459,6 +459,12 @@ static int sii902x_i2c_bypass_deselect(struct i2c_mux_core *mux, u32 chan_id) return 0; } +static const struct drm_bridge_timings default_sii902x_timings = { + .input_bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE + | DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE + | DRM_BUS_FLAG_DE_HIGH, +}; + static int sii902x_probe(struct i2c_client *client, const struct i2c_device_id *id) { @@ -529,6 +535,7 @@ static int sii902x_probe(struct i2c_client *client, sii902x->bridge.funcs = &sii902x_bridge_funcs; sii902x->bridge.of_node = dev->of_node; + sii902x->bridge.timings = &default_sii902x_timings; drm_bridge_add(&sii902x->bridge); i2c_set_clientdata(client, sii902x);