[PATCH 5/9] drm: atmel-hlcdc: add compatible string check for XLCDC and HLCDC

From: Manikandan Muralidharan
Date: Tue Jun 13 2023 - 03:06:04 EST


From: Durai Manickam KR <durai.manickamkr@xxxxxxxxxxxxx>

Add compatible string check to differentiate XLCDC and HLCDC code
within the atmel-hlcdc driver files.

Signed-off-by: Durai Manickam KR <durai.manickamkr@xxxxxxxxxxxxx>
Signed-off-by: Manikandan Muralidharan <manikandan.m@xxxxxxxxxxxxx>
---
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 */
+ 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