Message ID | 20230613070426.467389-6-manikandan.m@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for XLCDC to sam9x7 SoC family. | expand |
On Tue, Jun 13, 2023 at 12:34:22PM +0530, Manikandan Muralidharan wrote: > From: Durai Manickam KR <durai.manickamkr@microchip.com> > > Add compatible string check to differentiate XLCDC and HLCDC code > within the atmel-hlcdc driver files. > > Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com> > Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com> > --- > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 7 +++++++ > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 1 + > 2 files changed, 8 insertions(+) > > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c > index d7ad828e9e8c..fbbd2592efc7 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c > @@ -761,6 +761,13 @@ static int atmel_hlcdc_dc_load(struct drm_device *dev) > if (!dc) > return -ENOMEM; > > + /* SAM9X7 supports XLCDC */ > + if (!strcmp(match->compatible, "microchip,sam9x7-xlcdc")) > + dc->is_xlcdc = true; > + else > + /* Other SoC's that supports HLCDC IP */ Should this be "Other SoCs that do not support HLCDC IP"? > + dc->is_xlcdc = false; > + > dc->desc = match->data; > dc->hlcdc = dev_get_drvdata(dev->dev->parent); > dev->dev_private = dc; > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h > index aed1742b3665..804e4d476f2b 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h > @@ -451,6 +451,7 @@ struct atmel_hlcdc_dc { > u32 imr; > struct drm_atomic_state *state; > } suspend; > + bool is_xlcdc; > }; > > extern struct atmel_hlcdc_formats atmel_hlcdc_plane_rgb_formats; > -- > 2.25.1 >
On 13.06.2023 10:04, Manikandan Muralidharan wrote: > From: Durai Manickam KR <durai.manickamkr@microchip.com> > > Add compatible string check to differentiate XLCDC and HLCDC code > within the atmel-hlcdc driver files. > > Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com> > Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com> > --- > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 7 +++++++ > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 1 + > 2 files changed, 8 insertions(+) > > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c > index d7ad828e9e8c..fbbd2592efc7 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c > @@ -761,6 +761,13 @@ static int atmel_hlcdc_dc_load(struct drm_device *dev) > if (!dc) > return -ENOMEM; > > + /* SAM9X7 supports XLCDC */ > + if (!strcmp(match->compatible, "microchip,sam9x7-xlcdc")) This could be avoided if ix_xlcd in added in driver data. > + dc->is_xlcdc = true; > + else > + /* Other SoC's that supports HLCDC IP */ > + dc->is_xlcdc = false; > + > dc->desc = match->data; > dc->hlcdc = dev_get_drvdata(dev->dev->parent); > dev->dev_private = dc; > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h > index aed1742b3665..804e4d476f2b 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h > @@ -451,6 +451,7 @@ struct atmel_hlcdc_dc { > u32 imr; > struct drm_atomic_state *state; > } suspend; > + bool is_xlcdc; > }; > > extern struct atmel_hlcdc_formats atmel_hlcdc_plane_rgb_formats;
On Tue, Jun 13, 2023 at 07:16:06PM +0100, Conor Dooley wrote: > On Tue, Jun 13, 2023 at 12:34:22PM +0530, Manikandan Muralidharan wrote: > > + /* Other SoC's that supports HLCDC IP */ > > Should this be "Other SoCs that do not support HLCDC IP"? Clearly a reading comprehension fail here. Sorry about the noise!
On 14/06/23 12:19, Claudiu Beznea - M18063 wrote: > On 13.06.2023 10:04, Manikandan Muralidharan wrote: >> From: Durai Manickam KR <durai.manickamkr@microchip.com> >> >> Add compatible string check to differentiate XLCDC and HLCDC code >> within the atmel-hlcdc driver files. >> >> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com> >> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com> >> --- >> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 7 +++++++ >> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 1 + >> 2 files changed, 8 insertions(+) >> >> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c >> index d7ad828e9e8c..fbbd2592efc7 100644 >> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c >> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c >> @@ -761,6 +761,13 @@ static int atmel_hlcdc_dc_load(struct drm_device *dev) >> if (!dc) >> return -ENOMEM; >> >> + /* SAM9X7 supports XLCDC */ >> + if (!strcmp(match->compatible, "microchip,sam9x7-xlcdc")) > > This could be avoided if ix_xlcd in added in driver data. Sure, I will check for the feasibility of the code. Thank you > >> + dc->is_xlcdc = true; >> + else >> + /* Other SoC's that supports HLCDC IP */ >> + dc->is_xlcdc = false; >> + >> dc->desc = match->data; >> dc->hlcdc = dev_get_drvdata(dev->dev->parent); >> dev->dev_private = dc; >> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h >> index aed1742b3665..804e4d476f2b 100644 >> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h >> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h >> @@ -451,6 +451,7 @@ struct atmel_hlcdc_dc { >> u32 imr; >> struct drm_atomic_state *state; >> } suspend; >> + bool is_xlcdc; >> }; >> >> extern struct atmel_hlcdc_formats atmel_hlcdc_plane_rgb_formats; >
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c index d7ad828e9e8c..fbbd2592efc7 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c @@ -761,6 +761,13 @@ static int atmel_hlcdc_dc_load(struct drm_device *dev) if (!dc) return -ENOMEM; + /* SAM9X7 supports XLCDC */ + if (!strcmp(match->compatible, "microchip,sam9x7-xlcdc")) + dc->is_xlcdc = true; + else + /* Other SoC's that supports HLCDC IP */ + dc->is_xlcdc = false; + dc->desc = match->data; dc->hlcdc = dev_get_drvdata(dev->dev->parent); dev->dev_private = dc; diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h index aed1742b3665..804e4d476f2b 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h @@ -451,6 +451,7 @@ struct atmel_hlcdc_dc { u32 imr; struct drm_atomic_state *state; } suspend; + bool is_xlcdc; }; extern struct atmel_hlcdc_formats atmel_hlcdc_plane_rgb_formats;