Commit fcfb2ea1 authored by Jani Nikula's avatar Jani Nikula

drm/edid: constify struct detailed_timing in lower level parsing

Start constifying the struct detailed_timing pointers being passed
around from bottom up.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/0b7fafcc7784db0003e454544916c273a9eb1250.1648477901.git.jani.nikula@intel.com
parent c8a4beba
...@@ -2560,7 +2560,7 @@ static int drm_mode_hsync(const struct drm_display_mode *mode) ...@@ -2560,7 +2560,7 @@ static int drm_mode_hsync(const struct drm_display_mode *mode)
*/ */
static struct drm_display_mode * static struct drm_display_mode *
drm_mode_std(struct drm_connector *connector, struct edid *edid, drm_mode_std(struct drm_connector *connector, struct edid *edid,
struct std_timing *t) const struct std_timing *t)
{ {
struct drm_device *dev = connector->dev; struct drm_device *dev = connector->dev;
struct drm_display_mode *m, *mode = NULL; struct drm_display_mode *m, *mode = NULL;
...@@ -2678,7 +2678,7 @@ drm_mode_std(struct drm_connector *connector, struct edid *edid, ...@@ -2678,7 +2678,7 @@ drm_mode_std(struct drm_connector *connector, struct edid *edid,
*/ */
static void static void
drm_mode_do_interlace_quirk(struct drm_display_mode *mode, drm_mode_do_interlace_quirk(struct drm_display_mode *mode,
struct detailed_pixel_timing *pt) const struct detailed_pixel_timing *pt)
{ {
int i; int i;
static const struct { static const struct {
...@@ -2722,11 +2722,11 @@ drm_mode_do_interlace_quirk(struct drm_display_mode *mode, ...@@ -2722,11 +2722,11 @@ drm_mode_do_interlace_quirk(struct drm_display_mode *mode,
*/ */
static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev, static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
struct edid *edid, struct edid *edid,
struct detailed_timing *timing, const struct detailed_timing *timing,
u32 quirks) u32 quirks)
{ {
struct drm_display_mode *mode; struct drm_display_mode *mode;
struct detailed_pixel_timing *pt = &timing->data.pixel_data; const struct detailed_pixel_timing *pt = &timing->data.pixel_data;
unsigned hactive = (pt->hactive_hblank_hi & 0xf0) << 4 | pt->hactive_lo; unsigned hactive = (pt->hactive_hblank_hi & 0xf0) << 4 | pt->hactive_lo;
unsigned vactive = (pt->vactive_vblank_hi & 0xf0) << 4 | pt->vactive_lo; unsigned vactive = (pt->vactive_vblank_hi & 0xf0) << 4 | pt->vactive_lo;
unsigned hblank = (pt->hactive_hblank_hi & 0xf) << 8 | pt->hblank_lo; unsigned hblank = (pt->hactive_hblank_hi & 0xf) << 8 | pt->hblank_lo;
...@@ -2821,7 +2821,7 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev, ...@@ -2821,7 +2821,7 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
static bool static bool
mode_in_hsync_range(const struct drm_display_mode *mode, mode_in_hsync_range(const struct drm_display_mode *mode,
struct edid *edid, u8 *t) struct edid *edid, const u8 *t)
{ {
int hsync, hmin, hmax; int hsync, hmin, hmax;
...@@ -2838,7 +2838,7 @@ mode_in_hsync_range(const struct drm_display_mode *mode, ...@@ -2838,7 +2838,7 @@ mode_in_hsync_range(const struct drm_display_mode *mode,
static bool static bool
mode_in_vsync_range(const struct drm_display_mode *mode, mode_in_vsync_range(const struct drm_display_mode *mode,
struct edid *edid, u8 *t) struct edid *edid, const u8 *t)
{ {
int vsync, vmin, vmax; int vsync, vmin, vmax;
...@@ -2854,7 +2854,7 @@ mode_in_vsync_range(const struct drm_display_mode *mode, ...@@ -2854,7 +2854,7 @@ mode_in_vsync_range(const struct drm_display_mode *mode,
} }
static u32 static u32
range_pixel_clock(struct edid *edid, u8 *t) range_pixel_clock(struct edid *edid, const u8 *t)
{ {
/* unspecified */ /* unspecified */
if (t[9] == 0 || t[9] == 255) if (t[9] == 0 || t[9] == 255)
...@@ -2870,10 +2870,10 @@ range_pixel_clock(struct edid *edid, u8 *t) ...@@ -2870,10 +2870,10 @@ range_pixel_clock(struct edid *edid, u8 *t)
static bool static bool
mode_in_range(const struct drm_display_mode *mode, struct edid *edid, mode_in_range(const struct drm_display_mode *mode, struct edid *edid,
struct detailed_timing *timing) const struct detailed_timing *timing)
{ {
u32 max_clock; u32 max_clock;
u8 *t = (u8 *)timing; const u8 *t = (const u8 *)timing;
if (!mode_in_hsync_range(mode, edid, t)) if (!mode_in_hsync_range(mode, edid, t))
return false; return false;
...@@ -2916,7 +2916,7 @@ static bool valid_inferred_mode(const struct drm_connector *connector, ...@@ -2916,7 +2916,7 @@ static bool valid_inferred_mode(const struct drm_connector *connector,
static int static int
drm_dmt_modes_for_range(struct drm_connector *connector, struct edid *edid, drm_dmt_modes_for_range(struct drm_connector *connector, struct edid *edid,
struct detailed_timing *timing) const struct detailed_timing *timing)
{ {
int i, modes = 0; int i, modes = 0;
struct drm_display_mode *newmode; struct drm_display_mode *newmode;
...@@ -2951,7 +2951,7 @@ void drm_mode_fixup_1366x768(struct drm_display_mode *mode) ...@@ -2951,7 +2951,7 @@ void drm_mode_fixup_1366x768(struct drm_display_mode *mode)
static int static int
drm_gtf_modes_for_range(struct drm_connector *connector, struct edid *edid, drm_gtf_modes_for_range(struct drm_connector *connector, struct edid *edid,
struct detailed_timing *timing) const struct detailed_timing *timing)
{ {
int i, modes = 0; int i, modes = 0;
struct drm_display_mode *newmode; struct drm_display_mode *newmode;
...@@ -2980,7 +2980,7 @@ drm_gtf_modes_for_range(struct drm_connector *connector, struct edid *edid, ...@@ -2980,7 +2980,7 @@ drm_gtf_modes_for_range(struct drm_connector *connector, struct edid *edid,
static int static int
drm_cvt_modes_for_range(struct drm_connector *connector, struct edid *edid, drm_cvt_modes_for_range(struct drm_connector *connector, struct edid *edid,
struct detailed_timing *timing) const struct detailed_timing *timing)
{ {
int i, modes = 0; int i, modes = 0;
struct drm_display_mode *newmode; struct drm_display_mode *newmode;
...@@ -3012,8 +3012,8 @@ static void ...@@ -3012,8 +3012,8 @@ static void
do_inferred_modes(struct detailed_timing *timing, void *c) do_inferred_modes(struct detailed_timing *timing, void *c)
{ {
struct detailed_mode_closure *closure = c; struct detailed_mode_closure *closure = c;
struct detailed_non_pixel *data = &timing->data.other_data; const struct detailed_non_pixel *data = &timing->data.other_data;
struct detailed_data_monitor_range *range = &data->data.range; const struct detailed_data_monitor_range *range = &data->data.range;
if (!is_display_descriptor(timing, EDID_DETAIL_MONITOR_RANGE)) if (!is_display_descriptor(timing, EDID_DETAIL_MONITOR_RANGE))
return; return;
...@@ -3062,11 +3062,11 @@ add_inferred_modes(struct drm_connector *connector, struct edid *edid) ...@@ -3062,11 +3062,11 @@ add_inferred_modes(struct drm_connector *connector, struct edid *edid)
} }
static int static int
drm_est3_modes(struct drm_connector *connector, struct detailed_timing *timing) drm_est3_modes(struct drm_connector *connector, const struct detailed_timing *timing)
{ {
int i, j, m, modes = 0; int i, j, m, modes = 0;
struct drm_display_mode *mode; struct drm_display_mode *mode;
u8 *est = ((u8 *)timing) + 6; const u8 *est = ((const u8 *)timing) + 6;
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
for (j = 7; j >= 0; j--) { for (j = 7; j >= 0; j--) {
...@@ -3145,7 +3145,7 @@ static void ...@@ -3145,7 +3145,7 @@ static void
do_standard_modes(struct detailed_timing *timing, void *c) do_standard_modes(struct detailed_timing *timing, void *c)
{ {
struct detailed_mode_closure *closure = c; struct detailed_mode_closure *closure = c;
struct detailed_non_pixel *data = &timing->data.other_data; const struct detailed_non_pixel *data = &timing->data.other_data;
struct drm_connector *connector = closure->connector; struct drm_connector *connector = closure->connector;
struct edid *edid = closure->edid; struct edid *edid = closure->edid;
int i; int i;
...@@ -3154,7 +3154,7 @@ do_standard_modes(struct detailed_timing *timing, void *c) ...@@ -3154,7 +3154,7 @@ do_standard_modes(struct detailed_timing *timing, void *c)
return; return;
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
struct std_timing *std = &data->data.timings[i]; const struct std_timing *std = &data->data.timings[i];
struct drm_display_mode *newmode; struct drm_display_mode *newmode;
newmode = drm_mode_std(connector, edid, std); newmode = drm_mode_std(connector, edid, std);
...@@ -3203,12 +3203,12 @@ add_standard_modes(struct drm_connector *connector, struct edid *edid) ...@@ -3203,12 +3203,12 @@ add_standard_modes(struct drm_connector *connector, struct edid *edid)
} }
static int drm_cvt_modes(struct drm_connector *connector, static int drm_cvt_modes(struct drm_connector *connector,
struct detailed_timing *timing) const struct detailed_timing *timing)
{ {
int i, j, modes = 0; int i, j, modes = 0;
struct drm_display_mode *newmode; struct drm_display_mode *newmode;
struct drm_device *dev = connector->dev; struct drm_device *dev = connector->dev;
struct cvt_timing *cvt; const struct cvt_timing *cvt;
const int rates[] = { 60, 85, 75, 60, 50 }; const int rates[] = { 60, 85, 75, 60, 50 };
const u8 empty[3] = { 0, 0, 0 }; const u8 empty[3] = { 0, 0, 0 };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment