Skip to content

Commit 128a7d4

Browse files
jannaumarcan
authored andcommitted
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 <[email protected]>
1 parent 0d53d6a commit 128a7d4

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
@@ -198,6 +198,9 @@ static void apple_crtc_atomic_enable(struct drm_crtc *crtc,
198198
dcp_poweron(apple_crtc->dcp);
199199
dev_dbg(&apple_crtc->dcp->dev, "%s finished", __func__);
200200
}
201+
202+
if (crtc_state->active)
203+
dcp_crtc_atomic_modeset(crtc, state);
201204
}
202205

203206
static void apple_crtc_atomic_disable(struct drm_crtc *crtc,
@@ -299,8 +302,6 @@ static const struct drm_connector_funcs apple_connector_funcs = {
299302
static const struct drm_connector_helper_funcs apple_connector_helper_funcs = {
300303
.get_modes = dcp_get_modes,
301304
.mode_valid = dcp_mode_valid,
302-
.atomic_check = dcp_connector_atomic_check,
303-
304305
};
305306

306307
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
@@ -421,13 +421,11 @@ int dcp_mode_valid(struct drm_connector *connector,
421421
}
422422
EXPORT_SYMBOL_GPL(dcp_mode_valid);
423423

424-
int dcp_connector_atomic_check(struct drm_connector *connector,
425-
struct drm_atomic_state *state)
424+
int dcp_crtc_atomic_modeset(struct drm_crtc *crtc,
425+
struct drm_atomic_state *state)
426426
{
427-
struct apple_connector *apple_connector = to_apple_connector(connector);
428-
struct platform_device *pdev = apple_connector->dcp;
429-
struct apple_dcp *dcp = platform_get_drvdata(pdev);
430-
struct drm_crtc *crtc = &dcp->crtc->base;
427+
struct apple_crtc *apple_crtc = to_apple_crtc(crtc);
428+
struct apple_dcp *dcp = platform_get_drvdata(apple_crtc->dcp);
431429
struct drm_crtc_state *crtc_state;
432430
int ret = -EIO;
433431
bool modeset;
@@ -460,7 +458,7 @@ int dcp_connector_atomic_check(struct drm_connector *connector,
460458

461459
return ret;
462460
}
463-
EXPORT_SYMBOL_GPL(dcp_connector_atomic_check);
461+
EXPORT_SYMBOL_GPL(dcp_crtc_atomic_modeset);
464462

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

0 commit comments

Comments
 (0)