mirror of
https://github.com/AsahiLinux/m1n1
synced 2024-09-20 05:01:53 +00:00
dptx: Add the number of dptxport services
Avoids waiting 500 ms for the second dptxport service on t6020 and possibly t6021. Signed-off-by: Janne Grunau <j@jannau.net>
This commit is contained in:
parent
787eb8c220
commit
8c99a189e0
5 changed files with 9 additions and 7 deletions
|
@ -67,7 +67,7 @@ static int dcp_hdmi_dptx_init(dcp_dev_t *dcp, const display_config_t *cfg)
|
|||
return -1;
|
||||
}
|
||||
|
||||
dcp->dptx_ep = dcp_dptx_init(dcp);
|
||||
dcp->dptx_ep = dcp_dptx_init(dcp, cfg->num_dptxports);
|
||||
if (!dcp->dptx_ep) {
|
||||
printf("dcp: failed to initialize dptx-port endpoint\n");
|
||||
dcp_dpav_shutdown(dcp->dpav_ep);
|
||||
|
|
|
@ -20,6 +20,7 @@ typedef struct {
|
|||
const char dp2hdmi_gpio[24];
|
||||
const char pmgr_dev[24];
|
||||
u32 dcp_index;
|
||||
u8 num_dptxports;
|
||||
u8 die;
|
||||
} display_config_t;
|
||||
|
||||
|
|
|
@ -13,8 +13,7 @@
|
|||
#include "../types.h"
|
||||
#include "../utils.h"
|
||||
|
||||
#define DCP_DPTX_PORT_ENDPOINT 0x2a
|
||||
#define DCP_DPTX_PORT_NUM_SERVICES 2
|
||||
#define DCP_DPTX_PORT_ENDPOINT 0x2a
|
||||
|
||||
#define TXBUF_LEN 0x4000
|
||||
#define RXBUF_LEN 0x4000
|
||||
|
@ -546,7 +545,7 @@ int dcp_dptx_disconnect(dcp_dptx_if_t *dptx, u32 port)
|
|||
return 0;
|
||||
}
|
||||
|
||||
dcp_dptx_if_t *dcp_dptx_init(dcp_dev_t *dcp)
|
||||
dcp_dptx_if_t *dcp_dptx_init(dcp_dev_t *dcp, u32 num_dptxports)
|
||||
{
|
||||
dcp_dptx_if_t *dptx = calloc(1, sizeof(dcp_dptx_if_t));
|
||||
if (!dptx)
|
||||
|
@ -559,8 +558,7 @@ dcp_dptx_if_t *dcp_dptx_init(dcp_dev_t *dcp)
|
|||
goto err_free;
|
||||
}
|
||||
|
||||
int err = afk_epic_start_interface(dptx->epic, dptx, DCP_DPTX_PORT_NUM_SERVICES, TXBUF_LEN,
|
||||
RXBUF_LEN);
|
||||
int err = afk_epic_start_interface(dptx->epic, dptx, num_dptxports, TXBUF_LEN, RXBUF_LEN);
|
||||
if (err < 0) {
|
||||
printf("dcp-dptx: failed to initialize DPTXRemotePort interface\n");
|
||||
goto err_shutdown;
|
||||
|
|
|
@ -52,7 +52,7 @@ enum dptx_link_rate {
|
|||
LINK_RATE_HBR3 = 0x1e,
|
||||
};
|
||||
|
||||
dcp_dptx_if_t *dcp_dptx_init(dcp_dev_t *dcp);
|
||||
dcp_dptx_if_t *dcp_dptx_init(dcp_dev_t *dcp, u32 num_dptxports);
|
||||
int dcp_dptx_shutdown(dcp_dptx_if_t *dptx);
|
||||
|
||||
int dcp_dptx_connect(dcp_dptx_if_t *dptx, dptx_phy_t *phy, u32 port);
|
||||
|
|
|
@ -45,6 +45,7 @@ static const display_config_t display_config_m2 = {
|
|||
.dptx_phy = "/arm-io/dptx-phy",
|
||||
.pmgr_dev = "DISP0_CPU0",
|
||||
.dcp_index = 0,
|
||||
.num_dptxports = 2,
|
||||
};
|
||||
|
||||
static const display_config_t display_config_m2_pro_max = {
|
||||
|
@ -55,6 +56,7 @@ static const display_config_t display_config_m2_pro_max = {
|
|||
.dptx_phy = "/arm-io/lpdptx-phy0",
|
||||
.pmgr_dev = "DISP0_CPU0",
|
||||
.dcp_index = 0,
|
||||
.num_dptxports = 1,
|
||||
};
|
||||
|
||||
static const display_config_t display_config_m2_ultra = {
|
||||
|
@ -65,6 +67,7 @@ static const display_config_t display_config_m2_ultra = {
|
|||
.dptx_phy = "/arm-io/lpdptx-phy1",
|
||||
.pmgr_dev = "DISPEXT4_CPU0",
|
||||
.dcp_index = 1,
|
||||
.num_dptxports = 2,
|
||||
.die = 1,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue