Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/panel: edp: Stop tracking prepared/enabled

As talked about in commit d2aacaf07395 ("drm/panel: Check for already
prepared/enabled in drm_panel"), we want to remove needless code from
panel drivers that was storing and double-checking the
prepared/enabled state. Even if someone was relying on the
double-check before, that double-check is now in the core and not
needed in individual drivers.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240503143327.RFT.v2.6.I4d1bf08781593c08127e506422687ab19fd3c824@changeid

-27
-27
drivers/gpu/drm/panel/panel-edp.c
··· 222 222 223 223 struct panel_edp { 224 224 struct drm_panel base; 225 - bool enabled; 226 225 bool no_hpd; 227 - 228 - bool prepared; 229 226 230 227 ktime_t prepared_time; 231 228 ktime_t powered_on_time; ··· 392 395 { 393 396 struct panel_edp *p = to_panel_edp(panel); 394 397 395 - if (!p->enabled) 396 - return 0; 397 - 398 398 if (p->desc->delay.disable) 399 399 msleep(p->desc->delay.disable); 400 - 401 - p->enabled = false; 402 400 403 401 return 0; 404 402 } ··· 412 420 413 421 static int panel_edp_unprepare(struct drm_panel *panel) 414 422 { 415 - struct panel_edp *p = to_panel_edp(panel); 416 423 int ret; 417 - 418 - /* Unpreparing when already unprepared is a no-op */ 419 - if (!p->prepared) 420 - return 0; 421 424 422 425 ret = pm_runtime_put_sync_suspend(panel->dev); 423 426 if (ret < 0) 424 427 return ret; 425 - p->prepared = false; 426 428 427 429 return 0; 428 430 } ··· 528 542 529 543 static int panel_edp_prepare(struct drm_panel *panel) 530 544 { 531 - struct panel_edp *p = to_panel_edp(panel); 532 545 int ret; 533 - 534 - /* Preparing when already prepared is a no-op */ 535 - if (p->prepared) 536 - return 0; 537 546 538 547 ret = pm_runtime_get_sync(panel->dev); 539 548 if (ret < 0) { 540 549 pm_runtime_put_autosuspend(panel->dev); 541 550 return ret; 542 551 } 543 - 544 - p->prepared = true; 545 552 546 553 return 0; 547 554 } ··· 543 564 { 544 565 struct panel_edp *p = to_panel_edp(panel); 545 566 unsigned int delay; 546 - 547 - if (p->enabled) 548 - return 0; 549 567 550 568 delay = p->desc->delay.enable; 551 569 ··· 573 597 panel_edp_wait(p->prepared_time, p->desc->delay.prepare_to_enable); 574 598 575 599 panel_edp_wait(p->powered_on_time, p->desc->delay.powered_on_to_enable); 576 - 577 - p->enabled = true; 578 600 579 601 return 0; 580 602 } ··· 843 869 if (!panel) 844 870 return -ENOMEM; 845 871 846 - panel->enabled = false; 847 872 panel->prepared_time = 0; 848 873 panel->desc = desc; 849 874 panel->aux = aux;