Skip to content

Commit a7bed8e

Browse files
committed
drm: apple: Move modeset into drm_crtc's atomic_enable
squash! drm: apple: Extract modeset crtc's atomic_flush() Fixes: 99d7bb8 ("drm: apple: Extract modeset crtc's atomic_flush()") Signed-off-by: Janne Grunau <j@jannau.net>
1 parent b70e5ca commit a7bed8e

3 files changed

Lines changed: 10 additions & 11 deletions

File tree

drivers/gpu/drm/apple/apple_drv.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,9 @@ static void apple_crtc_atomic_enable(struct drm_crtc *crtc,
199199
dcp_poweron(apple_crtc->dcp);
200200
dev_dbg(&apple_crtc->dcp->dev, "%s finished", __func__);
201201
}
202+
203+
if (crtc_state->active)
204+
dcp_crtc_atomic_modeset(crtc, state);
202205
}
203206

204207
static void apple_crtc_atomic_disable(struct drm_crtc *crtc,
@@ -300,8 +303,6 @@ static const struct drm_connector_funcs apple_connector_funcs = {
300303
static const struct drm_connector_helper_funcs apple_connector_helper_funcs = {
301304
.get_modes = dcp_get_modes,
302305
.mode_valid = dcp_mode_valid,
303-
.atomic_check = dcp_connector_atomic_check,
304-
305306
};
306307

307308
static const struct drm_crtc_helper_funcs apple_crtc_helper_funcs = {

drivers/gpu/drm/apple/dcp.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ void dcp_drm_crtc_vblank(struct apple_crtc *crtc);
5757
int dcp_get_modes(struct drm_connector *connector);
5858
int dcp_mode_valid(struct drm_connector *connector,
5959
struct drm_display_mode *mode);
60-
int dcp_connector_atomic_check(struct drm_connector *connector,
61-
struct drm_atomic_state *state);
60+
int dcp_crtc_atomic_modeset(struct drm_crtc *crtc,
61+
struct drm_atomic_state *state);
6262
bool dcp_crtc_mode_fixup(struct drm_crtc *crtc,
6363
const struct drm_display_mode *mode,
6464
struct drm_display_mode *adjusted_mode);

drivers/gpu/drm/apple/iomfb.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -422,13 +422,11 @@ int dcp_mode_valid(struct drm_connector *connector,
422422
}
423423
EXPORT_SYMBOL_GPL(dcp_mode_valid);
424424

425-
int dcp_connector_atomic_check(struct drm_connector *connector,
426-
struct drm_atomic_state *state)
425+
int dcp_crtc_atomic_modeset(struct drm_crtc *crtc,
426+
struct drm_atomic_state *state)
427427
{
428-
struct apple_connector *apple_connector = to_apple_connector(connector);
429-
struct platform_device *pdev = apple_connector->dcp;
430-
struct apple_dcp *dcp = platform_get_drvdata(pdev);
431-
struct drm_crtc *crtc = &dcp->crtc->base;
428+
struct apple_crtc *apple_crtc = to_apple_crtc(crtc);
429+
struct apple_dcp *dcp = platform_get_drvdata(apple_crtc->dcp);
432430
struct drm_crtc_state *crtc_state;
433431
int ret = -EIO;
434432
bool modeset;
@@ -461,7 +459,7 @@ int dcp_connector_atomic_check(struct drm_connector *connector,
461459

462460
return ret;
463461
}
464-
EXPORT_SYMBOL_GPL(dcp_connector_atomic_check);
462+
EXPORT_SYMBOL_GPL(dcp_crtc_atomic_modeset);
465463

466464
bool dcp_crtc_mode_fixup(struct drm_crtc *crtc,
467465
const struct drm_display_mode *mode,

0 commit comments

Comments
 (0)