kernel: bump 5.4 to 5.4.132
Manually rebased: layerscape/patches-5.4/805-display-0002-drm-rockchip-prepare-common-code-for-cdns-and-rk-dpi.patch All other patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
This commit is contained in:
committed by
Hauke Mehrtens
parent
269e49577b
commit
2fe1b32156
@@ -70,7 +70,7 @@ Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
|
||||
+ ret = early_init_dt_alloc_reserved_memory_arch(node,
|
||||
+ size, align, start, end, nomap, &base);
|
||||
if (ret == 0) {
|
||||
pr_debug("allocated memory for '%s' node: base %pa, size %ld MiB\n",
|
||||
pr_debug("allocated memory for '%s' node: base %pa, size %lu MiB\n",
|
||||
uname, &base,
|
||||
@@ -143,8 +162,8 @@ static int __init __reserved_mem_alloc_s
|
||||
}
|
||||
@@ -81,5 +81,5 @@ Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
|
||||
+ ret = early_init_dt_alloc_reserved_memory_arch(node,
|
||||
+ size, align, 0, 0, nomap, &base);
|
||||
if (ret == 0)
|
||||
pr_debug("allocated memory for '%s' node: base %pa, size %ld MiB\n",
|
||||
uname, &base, (unsigned long)size / SZ_1M);
|
||||
pr_debug("allocated memory for '%s' node: base %pa, size %lu MiB\n",
|
||||
uname, &base, (unsigned long)(size / SZ_1M));
|
||||
|
||||
@@ -56,10 +56,10 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (ret) {
|
||||
- DRM_DEV_ERROR(dp->dev, "Could not write to GRF: %d\n", ret);
|
||||
+ DRM_DEV_ERROR(dev, "Could not write to GRF: %d\n", ret);
|
||||
clk_disable_unprepare(dp->grf_clk);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -82,24 +82,25 @@ static int cdn_dp_grf_write(struct cdn_d
|
||||
@@ -83,24 +83,25 @@ static int cdn_dp_grf_write(struct cdn_d
|
||||
|
||||
static int cdn_dp_clk_enable(struct cdn_dp_device *dp)
|
||||
{
|
||||
@@ -89,7 +89,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
goto err_pm_runtime_get;
|
||||
}
|
||||
|
||||
@@ -112,18 +113,18 @@ static int cdn_dp_clk_enable(struct cdn_
|
||||
@@ -113,18 +114,18 @@ static int cdn_dp_clk_enable(struct cdn_
|
||||
|
||||
rate = clk_get_rate(dp->core_clk);
|
||||
if (!rate) {
|
||||
@@ -112,7 +112,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
err_pm_runtime_get:
|
||||
clk_disable_unprepare(dp->core_clk);
|
||||
err_core_clk:
|
||||
@@ -134,7 +135,7 @@ err_pclk:
|
||||
@@ -135,7 +136,7 @@ err_pclk:
|
||||
|
||||
static void cdn_dp_clk_disable(struct cdn_dp_device *dp)
|
||||
{
|
||||
@@ -121,7 +121,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
clk_disable_unprepare(dp->pclk);
|
||||
clk_disable_unprepare(dp->core_clk);
|
||||
}
|
||||
@@ -167,7 +168,7 @@ static int cdn_dp_get_sink_count(struct
|
||||
@@ -168,7 +169,7 @@ static int cdn_dp_get_sink_count(struct
|
||||
u8 value;
|
||||
|
||||
*sink_count = 0;
|
||||
@@ -130,7 +130,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -191,12 +192,13 @@ static struct cdn_dp_port *cdn_dp_connec
|
||||
@@ -192,12 +193,13 @@ static struct cdn_dp_port *cdn_dp_connec
|
||||
|
||||
static bool cdn_dp_check_sink_connection(struct cdn_dp_device *dp)
|
||||
{
|
||||
@@ -145,7 +145,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -218,7 +220,7 @@ static bool cdn_dp_check_sink_connection
|
||||
@@ -219,7 +221,7 @@ static bool cdn_dp_check_sink_connection
|
||||
usleep_range(5000, 10000);
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -260,7 +262,8 @@ static int cdn_dp_connector_get_modes(st
|
||||
@@ -261,7 +263,8 @@ static int cdn_dp_connector_get_modes(st
|
||||
mutex_lock(&dp->lock);
|
||||
edid = dp->edid;
|
||||
if (edid) {
|
||||
@@ -164,7 +164,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
edid->width_cm, edid->height_cm);
|
||||
|
||||
dp->sink_has_audio = drm_detect_monitor_audio(edid);
|
||||
@@ -278,7 +281,8 @@ static int cdn_dp_connector_mode_valid(s
|
||||
@@ -279,7 +282,8 @@ static int cdn_dp_connector_mode_valid(s
|
||||
struct drm_display_mode *mode)
|
||||
{
|
||||
struct cdn_dp_device *dp = connector_to_dp(connector);
|
||||
@@ -174,7 +174,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
u32 requested, actual, rate, sink_max, source_max = 0;
|
||||
u8 lanes, bpc;
|
||||
|
||||
@@ -304,7 +308,7 @@ static int cdn_dp_connector_mode_valid(s
|
||||
@@ -305,7 +309,7 @@ static int cdn_dp_connector_mode_valid(s
|
||||
sink_max = drm_dp_max_lane_count(dp->dpcd);
|
||||
lanes = min(source_max, sink_max);
|
||||
|
||||
@@ -183,7 +183,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
sink_max = drm_dp_max_link_rate(dp->dpcd);
|
||||
rate = min(source_max, sink_max);
|
||||
|
||||
@@ -314,7 +318,7 @@ static int cdn_dp_connector_mode_valid(s
|
||||
@@ -315,7 +319,7 @@ static int cdn_dp_connector_mode_valid(s
|
||||
actual = actual * 8 / 10;
|
||||
|
||||
if (requested > actual) {
|
||||
@@ -192,7 +192,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
"requested=%d, actual=%d, clock=%d\n",
|
||||
requested, actual, mode->clock);
|
||||
return MODE_CLOCK_HIGH;
|
||||
@@ -334,28 +338,29 @@ static int cdn_dp_firmware_init(struct c
|
||||
@@ -335,28 +339,29 @@ static int cdn_dp_firmware_init(struct c
|
||||
const u32 *iram_data, *dram_data;
|
||||
const struct firmware *fw = dp->fw;
|
||||
const struct cdn_firmware_header *hdr;
|
||||
@@ -228,7 +228,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
static int cdn_dp_get_sink_capability(struct cdn_dp_device *dp)
|
||||
@@ -365,28 +370,29 @@ static int cdn_dp_get_sink_capability(st
|
||||
@@ -366,28 +371,29 @@ static int cdn_dp_get_sink_capability(st
|
||||
if (!cdn_dp_check_sink_connection(dp))
|
||||
return -ENODEV;
|
||||
|
||||
@@ -264,7 +264,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret);
|
||||
goto err_phy;
|
||||
}
|
||||
@@ -396,28 +402,28 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
@@ -397,28 +403,28 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
ret = cdn_dp_grf_write(dp, GRF_SOC_CON26,
|
||||
DPTX_HPD_SEL_MASK | DPTX_HPD_SEL);
|
||||
if (ret) {
|
||||
@@ -299,7 +299,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret);
|
||||
goto err_power_on;
|
||||
}
|
||||
@@ -427,7 +433,7 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
@@ -428,7 +434,7 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
|
||||
err_power_on:
|
||||
if (phy_power_off(port->phy))
|
||||
@@ -308,7 +308,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
else
|
||||
port->phy_enabled = false;
|
||||
|
||||
@@ -445,7 +451,8 @@ static int cdn_dp_disable_phy(struct cdn
|
||||
@@ -446,7 +452,8 @@ static int cdn_dp_disable_phy(struct cdn
|
||||
if (port->phy_enabled) {
|
||||
ret = phy_power_off(port->phy);
|
||||
if (ret) {
|
||||
@@ -318,7 +318,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
@@ -469,16 +476,16 @@ static int cdn_dp_disable(struct cdn_dp_
|
||||
@@ -470,16 +477,16 @@ static int cdn_dp_disable(struct cdn_dp_
|
||||
ret = cdn_dp_grf_write(dp, GRF_SOC_CON26,
|
||||
DPTX_HPD_SEL_MASK | DPTX_HPD_DEL);
|
||||
if (ret) {
|
||||
@@ -339,7 +339,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (!dp->connected) {
|
||||
kfree(dp->edid);
|
||||
dp->edid = NULL;
|
||||
@@ -491,11 +498,11 @@ static int cdn_dp_enable(struct cdn_dp_d
|
||||
@@ -492,11 +499,11 @@ static int cdn_dp_enable(struct cdn_dp_d
|
||||
{
|
||||
int ret, i, lanes;
|
||||
struct cdn_dp_port *port;
|
||||
@@ -353,7 +353,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
@@ -508,7 +515,7 @@ static int cdn_dp_enable(struct cdn_dp_d
|
||||
@@ -509,7 +516,7 @@ static int cdn_dp_enable(struct cdn_dp_d
|
||||
|
||||
ret = cdn_dp_firmware_init(dp);
|
||||
if (ret) {
|
||||
@@ -362,7 +362,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
goto err_clk_disable;
|
||||
}
|
||||
|
||||
@@ -542,8 +549,9 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
@@ -543,8 +550,9 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
struct drm_display_mode *adjusted)
|
||||
{
|
||||
struct cdn_dp_device *dp = encoder_to_dp(encoder);
|
||||
@@ -374,7 +374,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
switch (display_info->bpc) {
|
||||
case 10:
|
||||
@@ -561,7 +569,7 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
@@ -562,7 +570,7 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
video->v_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NVSYNC);
|
||||
video->h_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NHSYNC);
|
||||
|
||||
@@ -383,7 +383,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
static bool cdn_dp_check_link_status(struct cdn_dp_device *dp)
|
||||
@@ -570,11 +578,11 @@ static bool cdn_dp_check_link_status(str
|
||||
@@ -571,11 +579,11 @@ static bool cdn_dp_check_link_status(str
|
||||
struct cdn_dp_port *port = cdn_dp_connected_port(dp);
|
||||
u8 sink_lanes = drm_dp_max_lane_count(dp->dpcd);
|
||||
|
||||
@@ -398,7 +398,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
DRM_ERROR("Failed to get link status\n");
|
||||
return false;
|
||||
}
|
||||
@@ -586,15 +594,16 @@ static bool cdn_dp_check_link_status(str
|
||||
@@ -587,15 +595,16 @@ static bool cdn_dp_check_link_status(str
|
||||
static void cdn_dp_encoder_enable(struct drm_encoder *encoder)
|
||||
{
|
||||
struct cdn_dp_device *dp = encoder_to_dp(encoder);
|
||||
@@ -418,7 +418,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
(ret) ? "LIT" : "BIG");
|
||||
if (ret)
|
||||
val = DP_SEL_VOP_LIT | (DP_SEL_VOP_LIT << 16);
|
||||
@@ -609,33 +618,33 @@ static void cdn_dp_encoder_enable(struct
|
||||
@@ -610,33 +619,33 @@ static void cdn_dp_encoder_enable(struct
|
||||
|
||||
ret = cdn_dp_enable(dp);
|
||||
if (ret) {
|
||||
@@ -461,7 +461,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
goto out;
|
||||
}
|
||||
out:
|
||||
@@ -651,7 +660,8 @@ static void cdn_dp_encoder_disable(struc
|
||||
@@ -652,7 +661,8 @@ static void cdn_dp_encoder_disable(struc
|
||||
if (dp->active) {
|
||||
ret = cdn_dp_disable(dp);
|
||||
if (ret) {
|
||||
@@ -471,7 +471,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret);
|
||||
}
|
||||
}
|
||||
@@ -695,7 +705,7 @@ static const struct drm_encoder_funcs cd
|
||||
@@ -696,7 +706,7 @@ static const struct drm_encoder_funcs cd
|
||||
|
||||
static int cdn_dp_parse_dt(struct cdn_dp_device *dp)
|
||||
{
|
||||
@@ -480,7 +480,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
struct device_node *np = dev->of_node;
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
struct resource *res;
|
||||
@@ -707,10 +717,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
@@ -708,10 +718,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
}
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
@@ -494,7 +494,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
dp->core_clk = devm_clk_get(dev, "core-clk");
|
||||
@@ -725,10 +735,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
@@ -726,10 +736,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
return PTR_ERR(dp->pclk);
|
||||
}
|
||||
|
||||
@@ -508,7 +508,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
dp->grf_clk = devm_clk_get(dev, "grf");
|
||||
@@ -737,10 +747,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
@@ -738,10 +748,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
return PTR_ERR(dp->grf_clk);
|
||||
}
|
||||
|
||||
@@ -522,7 +522,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
dp->dptx_rst = devm_reset_control_get(dev, "dptx");
|
||||
@@ -795,7 +805,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
@@ -796,7 +806,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -531,7 +531,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (!ret)
|
||||
dp->audio_info = audio;
|
||||
|
||||
@@ -813,7 +823,7 @@ static void cdn_dp_audio_shutdown(struct
|
||||
@@ -814,7 +824,7 @@ static void cdn_dp_audio_shutdown(struct
|
||||
if (!dp->active)
|
||||
goto out;
|
||||
|
||||
@@ -540,7 +540,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (!ret)
|
||||
dp->audio_info.format = AFMT_UNUSED;
|
||||
out:
|
||||
@@ -832,7 +842,7 @@ static int cdn_dp_audio_digital_mute(str
|
||||
@@ -833,7 +843,7 @@ static int cdn_dp_audio_digital_mute(str
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -549,7 +549,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
out:
|
||||
mutex_unlock(&dp->lock);
|
||||
@@ -844,7 +854,8 @@ static int cdn_dp_audio_get_eld(struct d
|
||||
@@ -845,7 +855,8 @@ static int cdn_dp_audio_get_eld(struct d
|
||||
{
|
||||
struct cdn_dp_device *dp = dev_get_drvdata(dev);
|
||||
|
||||
@@ -559,7 +559,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -878,6 +889,7 @@ static int cdn_dp_request_firmware(struc
|
||||
@@ -879,6 +890,7 @@ static int cdn_dp_request_firmware(struc
|
||||
int ret;
|
||||
unsigned long timeout = jiffies + msecs_to_jiffies(CDN_FW_TIMEOUT_MS);
|
||||
unsigned long sleep = 1000;
|
||||
@@ -567,7 +567,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
WARN_ON(!mutex_is_locked(&dp->lock));
|
||||
|
||||
@@ -888,13 +900,13 @@ static int cdn_dp_request_firmware(struc
|
||||
@@ -889,13 +901,13 @@ static int cdn_dp_request_firmware(struc
|
||||
mutex_unlock(&dp->lock);
|
||||
|
||||
while (time_before(jiffies, timeout)) {
|
||||
@@ -583,7 +583,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
"failed to request firmware: %d\n", ret);
|
||||
goto out;
|
||||
}
|
||||
@@ -904,7 +916,7 @@ static int cdn_dp_request_firmware(struc
|
||||
@@ -905,7 +917,7 @@ static int cdn_dp_request_firmware(struc
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -592,7 +592,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret = -ETIMEDOUT;
|
||||
out:
|
||||
mutex_lock(&dp->lock);
|
||||
@@ -915,8 +927,9 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -916,8 +928,9 @@ static void cdn_dp_pd_event_work(struct
|
||||
{
|
||||
struct cdn_dp_device *dp = container_of(work, struct cdn_dp_device,
|
||||
event_work);
|
||||
@@ -603,7 +603,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
int ret;
|
||||
|
||||
@@ -933,44 +946,45 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -934,44 +947,45 @@ static void cdn_dp_pd_event_work(struct
|
||||
|
||||
/* Not connected, notify userspace to disable the block */
|
||||
if (!cdn_dp_connected_port(dp)) {
|
||||
@@ -662,7 +662,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
"Failed to config video %d\n",
|
||||
ret);
|
||||
}
|
||||
@@ -1039,7 +1053,7 @@ static int cdn_dp_bind(struct device *de
|
||||
@@ -1040,7 +1054,7 @@ static int cdn_dp_bind(struct device *de
|
||||
|
||||
drm_encoder_helper_add(encoder, &cdn_dp_encoder_helper_funcs);
|
||||
|
||||
@@ -671,7 +671,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
connector->polled = DRM_CONNECTOR_POLL_HPD;
|
||||
connector->dpms = DRM_MODE_DPMS_OFF;
|
||||
|
||||
@@ -1063,7 +1077,7 @@ static int cdn_dp_bind(struct device *de
|
||||
@@ -1064,7 +1078,7 @@ static int cdn_dp_bind(struct device *de
|
||||
port = dp->port[i];
|
||||
|
||||
port->event_nb.notifier_call = cdn_dp_pd_event;
|
||||
@@ -680,7 +680,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
EXTCON_DISP_DP,
|
||||
&port->event_nb);
|
||||
if (ret) {
|
||||
@@ -1090,7 +1104,7 @@ static void cdn_dp_unbind(struct device
|
||||
@@ -1091,7 +1105,7 @@ static void cdn_dp_unbind(struct device
|
||||
{
|
||||
struct cdn_dp_device *dp = dev_get_drvdata(dev);
|
||||
struct drm_encoder *encoder = &dp->encoder;
|
||||
@@ -689,7 +689,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
cancel_work_sync(&dp->event_work);
|
||||
cdn_dp_encoder_disable(encoder);
|
||||
@@ -1150,7 +1164,7 @@ static int cdn_dp_probe(struct platform_
|
||||
@@ -1151,7 +1165,7 @@ static int cdn_dp_probe(struct platform_
|
||||
dp = devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL);
|
||||
if (!dp)
|
||||
return -ENOMEM;
|
||||
@@ -698,7 +698,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
match = of_match_node(cdn_dp_dt_ids, pdev->dev.of_node);
|
||||
dp_data = (struct cdn_dp_data *)match->data;
|
||||
@@ -1195,7 +1209,7 @@ static int cdn_dp_remove(struct platform
|
||||
@@ -1196,7 +1210,7 @@ static int cdn_dp_remove(struct platform
|
||||
struct cdn_dp_device *dp = platform_get_drvdata(pdev);
|
||||
|
||||
platform_device_unregister(dp->audio_pdev);
|
||||
@@ -707,7 +707,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
component_del(&pdev->dev, &cdn_dp_component_ops);
|
||||
|
||||
return 0;
|
||||
@@ -1205,7 +1219,7 @@ static void cdn_dp_shutdown(struct platf
|
||||
@@ -1206,7 +1220,7 @@ static void cdn_dp_shutdown(struct platf
|
||||
{
|
||||
struct cdn_dp_device *dp = platform_get_drvdata(pdev);
|
||||
|
||||
|
||||
@@ -1794,7 +1794,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
#define encoder_to_dp(c) \
|
||||
container_of(c, struct cdn_dp_device, encoder)
|
||||
@@ -282,7 +282,7 @@ static int cdn_dp_connector_mode_valid(s
|
||||
@@ -283,7 +283,7 @@ static int cdn_dp_connector_mode_valid(s
|
||||
{
|
||||
struct cdn_dp_device *dp = connector_to_dp(connector);
|
||||
struct drm_display_info *display_info =
|
||||
@@ -1803,7 +1803,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
u32 requested, actual, rate, sink_max, source_max = 0;
|
||||
u8 lanes, bpc;
|
||||
|
||||
@@ -378,7 +378,7 @@ static int cdn_dp_get_sink_capability(st
|
||||
@@ -379,7 +379,7 @@ static int cdn_dp_get_sink_capability(st
|
||||
}
|
||||
|
||||
kfree(dp->edid);
|
||||
@@ -1812,7 +1812,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
cdns_mhdp_get_edid_block, &dp->mhdp);
|
||||
return 0;
|
||||
}
|
||||
@@ -484,8 +484,8 @@ static int cdn_dp_disable(struct cdn_dp_
|
||||
@@ -485,8 +485,8 @@ static int cdn_dp_disable(struct cdn_dp_
|
||||
cdns_mhdp_set_firmware_active(&dp->mhdp, false);
|
||||
cdn_dp_clk_disable(dp);
|
||||
dp->active = false;
|
||||
@@ -1823,7 +1823,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (!dp->connected) {
|
||||
kfree(dp->edid);
|
||||
dp->edid = NULL;
|
||||
@@ -550,7 +550,7 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
@@ -551,7 +551,7 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
{
|
||||
struct cdn_dp_device *dp = encoder_to_dp(encoder);
|
||||
struct drm_display_info *display_info =
|
||||
@@ -1832,7 +1832,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
struct video_info *video = &dp->mhdp.video_info;
|
||||
|
||||
switch (display_info->bpc) {
|
||||
@@ -578,7 +578,7 @@ static bool cdn_dp_check_link_status(str
|
||||
@@ -579,7 +579,7 @@ static bool cdn_dp_check_link_status(str
|
||||
struct cdn_dp_port *port = cdn_dp_connected_port(dp);
|
||||
u8 sink_lanes = drm_dp_max_lane_count(dp->dpcd);
|
||||
|
||||
@@ -1841,7 +1841,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return false;
|
||||
|
||||
if (cdns_mhdp_dpcd_read(&dp->mhdp, DP_LANE0_1_STATUS, link_status,
|
||||
@@ -807,7 +807,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
@@ -808,7 +808,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
|
||||
ret = cdns_mhdp_audio_config(&dp->mhdp, &audio);
|
||||
if (!ret)
|
||||
@@ -1850,7 +1850,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
out:
|
||||
mutex_unlock(&dp->lock);
|
||||
@@ -823,9 +823,9 @@ static void cdn_dp_audio_shutdown(struct
|
||||
@@ -824,9 +824,9 @@ static void cdn_dp_audio_shutdown(struct
|
||||
if (!dp->active)
|
||||
goto out;
|
||||
|
||||
@@ -1862,7 +1862,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
out:
|
||||
mutex_unlock(&dp->lock);
|
||||
}
|
||||
@@ -854,8 +854,8 @@ static int cdn_dp_audio_get_eld(struct d
|
||||
@@ -855,8 +855,8 @@ static int cdn_dp_audio_get_eld(struct d
|
||||
{
|
||||
struct cdn_dp_device *dp = dev_get_drvdata(dev);
|
||||
|
||||
@@ -1873,7 +1873,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -877,11 +877,11 @@ static int cdn_dp_audio_codec_init(struc
|
||||
@@ -878,11 +878,11 @@ static int cdn_dp_audio_codec_init(struc
|
||||
.max_i2s_channels = 8,
|
||||
};
|
||||
|
||||
@@ -1889,7 +1889,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
static int cdn_dp_request_firmware(struct cdn_dp_device *dp)
|
||||
@@ -927,7 +927,7 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -928,7 +928,7 @@ static void cdn_dp_pd_event_work(struct
|
||||
{
|
||||
struct cdn_dp_device *dp = container_of(work, struct cdn_dp_device,
|
||||
event_work);
|
||||
@@ -1898,7 +1898,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
enum drm_connector_status old_status;
|
||||
struct device *dev = dp->mhdp.dev;
|
||||
|
||||
@@ -965,8 +965,8 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -966,8 +966,8 @@ static void cdn_dp_pd_event_work(struct
|
||||
|
||||
/* Enabled and connected with a sink, re-train if requested */
|
||||
} else if (!cdn_dp_check_link_status(dp)) {
|
||||
@@ -1909,7 +1909,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
struct drm_display_mode *mode = &dp->mhdp.mode;
|
||||
|
||||
DRM_DEV_INFO(dev, "Connected with sink. Re-train link\n");
|
||||
@@ -979,8 +979,8 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -980,8 +980,8 @@ static void cdn_dp_pd_event_work(struct
|
||||
|
||||
/* If training result is changed, update the video config */
|
||||
if (mode->clock &&
|
||||
@@ -1920,7 +1920,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret = cdns_mhdp_config_video(&dp->mhdp);
|
||||
if (ret) {
|
||||
dp->connected = false;
|
||||
@@ -1053,7 +1053,7 @@ static int cdn_dp_bind(struct device *de
|
||||
@@ -1054,7 +1054,7 @@ static int cdn_dp_bind(struct device *de
|
||||
|
||||
drm_encoder_helper_add(encoder, &cdn_dp_encoder_helper_funcs);
|
||||
|
||||
@@ -1929,7 +1929,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
connector->polled = DRM_CONNECTOR_POLL_HPD;
|
||||
connector->dpms = DRM_MODE_DPMS_OFF;
|
||||
|
||||
@@ -1104,7 +1104,7 @@ static void cdn_dp_unbind(struct device
|
||||
@@ -1105,7 +1105,7 @@ static void cdn_dp_unbind(struct device
|
||||
{
|
||||
struct cdn_dp_device *dp = dev_get_drvdata(dev);
|
||||
struct drm_encoder *encoder = &dp->encoder;
|
||||
@@ -1938,7 +1938,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
cancel_work_sync(&dp->event_work);
|
||||
cdn_dp_encoder_disable(encoder);
|
||||
@@ -1208,7 +1208,7 @@ static int cdn_dp_remove(struct platform
|
||||
@@ -1209,7 +1209,7 @@ static int cdn_dp_remove(struct platform
|
||||
{
|
||||
struct cdn_dp_device *dp = platform_get_drvdata(pdev);
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
@@ -797,7 +797,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
@@ -798,7 +798,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
audio.format = AFMT_I2S;
|
||||
break;
|
||||
case HDMI_SPDIF:
|
||||
|
||||
@@ -13,7 +13,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
@@ -717,10 +717,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
@@ -718,10 +718,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
}
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
|
||||
@@ -142,7 +142,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
msg[4] = PTS1 | PTS2 | PTS3 | PTS4;
|
||||
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
@@ -305,12 +305,10 @@ static int cdn_dp_connector_mode_valid(s
|
||||
@@ -306,12 +306,10 @@ static int cdn_dp_connector_mode_valid(s
|
||||
requested = mode->clock * bpc * 3 / 1000;
|
||||
|
||||
source_max = dp->lanes;
|
||||
@@ -157,7 +157,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
actual = rate * lanes / 100;
|
||||
|
||||
@@ -365,21 +363,25 @@ static int cdn_dp_firmware_init(struct c
|
||||
@@ -366,21 +364,25 @@ static int cdn_dp_firmware_init(struct c
|
||||
|
||||
static int cdn_dp_get_sink_capability(struct cdn_dp_device *dp)
|
||||
{
|
||||
@@ -188,7 +188,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -421,7 +423,8 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
@@ -422,7 +424,8 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
}
|
||||
|
||||
port->lanes = cdn_dp_get_port_lanes(port);
|
||||
@@ -198,7 +198,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (ret) {
|
||||
DRM_DEV_ERROR(dev, "set host capabilities failed: %d\n",
|
||||
ret);
|
||||
@@ -576,9 +579,9 @@ static bool cdn_dp_check_link_status(str
|
||||
@@ -577,9 +580,9 @@ static bool cdn_dp_check_link_status(str
|
||||
{
|
||||
u8 link_status[DP_LINK_STATUS_SIZE];
|
||||
struct cdn_dp_port *port = cdn_dp_connected_port(dp);
|
||||
|
||||
@@ -109,7 +109,7 @@ Reviewed-by: Jun Li <jun.li@nxp.com>
|
||||
usb_phy_set_suspend(dwc->usb2_phy, 0);
|
||||
usb_phy_set_suspend(dwc->usb3_phy, 0);
|
||||
ret = phy_power_on(dwc->usb2_generic_phy);
|
||||
@@ -1931,12 +1983,9 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
@@ -1932,12 +1984,9 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id of_dwc3_match[] = {
|
||||
|
||||
@@ -81,7 +81,7 @@ Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
|
||||
usb_phy_set_suspend(dwc->usb2_phy, 0);
|
||||
usb_phy_set_suspend(dwc->usb3_phy, 0);
|
||||
ret = phy_power_on(dwc->usb2_generic_phy);
|
||||
@@ -1983,9 +1931,12 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
@@ -1984,9 +1932,12 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id of_dwc3_match[] = {
|
||||
|
||||
@@ -108,7 +108,7 @@ Reviewed-by: Jun Li <jun.li@nxp.com>
|
||||
usb_phy_set_suspend(dwc->usb2_phy, 0);
|
||||
usb_phy_set_suspend(dwc->usb3_phy, 0);
|
||||
ret = phy_power_on(dwc->usb2_generic_phy);
|
||||
@@ -1931,12 +1982,16 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
@@ -1932,12 +1983,16 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id of_dwc3_match[] = {
|
||||
|
||||
Reference in New Issue
Block a user