dc: serializer: fix dt progamming in driver

Device tree has been updated to use
<0x0 0x0 0x1 0x1> instead of
/bits/ 8 <0x0 0x0 0x1 0x1>. Fix the
device tree parsing logic to fetch the
data correctly.

Bug 3645731

Change-Id: I51ce1194ffb4c71526d1d74a3a5dbbcfe2f18a51
Signed-off-by: Vishwaroop A <va@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2713103
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Shu Zhong <shuz@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Vishwaroop A
2022-05-16 11:16:55 +00:00
committed by Laxman Dewangan
parent 2ddc0b4649
commit 4088261539

View File

@@ -121,9 +121,9 @@ struct max_gmsl_dp_ser_priv {
int ser_errb;
unsigned int ser_irq;
bool enable_mst;
u8 mst_payload_ids[MAX_GMSL_ARRAY_SIZE];
u8 gmsl_stream_ids[MAX_GMSL_ARRAY_SIZE];
u8 gmsl_link_select[MAX_GMSL_ARRAY_SIZE];
u32 mst_payload_ids[MAX_GMSL_ARRAY_SIZE];
u32 gmsl_stream_ids[MAX_GMSL_ARRAY_SIZE];
u32 gmsl_link_select[MAX_GMSL_ARRAY_SIZE];
bool link_a_is_enabled;
bool link_b_is_enabled;
};
@@ -200,7 +200,7 @@ static void max_gmsl_dp_ser_mst_setup(struct max_gmsl_dp_ser_priv *priv)
static void max_gmsl_dp_ser_setup(struct max_gmsl_dp_ser_priv *priv)
{
int i;
u8 gmsl_link_select_value = 0;
u32 gmsl_link_select_value = 0;
static const int max_gmsl_ser_vid_tx_regs[] = {
MAX_GMSL_DP_SER_VID_TX_X,
MAX_GMSL_DP_SER_VID_TX_Y,
@@ -244,7 +244,7 @@ static void max_gmsl_dp_ser_setup(struct max_gmsl_dp_ser_priv *priv)
max_gmsl_dp_ser_mst_setup(priv);
}
static bool max_gmsl_dp_ser_check_dups(u8 *ids)
static bool max_gmsl_dp_ser_check_dups(u32 *ids)
{
int i = 0, j = 0;
@@ -447,7 +447,7 @@ static int max_gmsl_dp_ser_parse_mst_props(struct i2c_client *client,
dev_info(dev, "%s: MST mode not enabled:\n", __func__);
if (priv->enable_mst) {
err = of_property_read_variable_u8_array(ser,
err = of_property_read_variable_u32_array(ser,
"mst-payload-ids",
priv->mst_payload_ids, 1,
ARRAY_SIZE(priv->mst_payload_ids));
@@ -466,7 +466,7 @@ static int max_gmsl_dp_ser_parse_mst_props(struct i2c_client *client,
return -EINVAL;
}
err = of_property_read_variable_u8_array(ser,
err = of_property_read_variable_u32_array(ser,
"gmsl-stream-ids",
priv->gmsl_stream_ids, 1,
ARRAY_SIZE(priv->gmsl_stream_ids));
@@ -534,7 +534,7 @@ static int max_gmsl_dp_ser_parse_dt(struct i2c_client *client,
dev_info(dev, "%s: - dprx-link-rate %i\n", __func__, val);
}
err = of_property_read_variable_u8_array(ser, "gmsl-link-select",
err = of_property_read_variable_u32_array(ser, "gmsl-link-select",
priv->gmsl_link_select, 1,
ARRAY_SIZE(priv->gmsl_link_select));
if (err < 0) {