Loading soc/swr-mstr-ctrl.c +7 −1 Original line number Diff line number Diff line Loading @@ -399,6 +399,12 @@ static int swrm_get_port_config(struct swr_mstr_ctrl *swrm) params = rx_frame_params; break; case MASTER_ID_TX: if ((swrm->mport_cfg[0].port_en && swrm->mport_cfg[0].ch_rate == swrm->mclk_freq) || (swrm->mport_cfg[1].port_en && swrm->mport_cfg[1].ch_rate == swrm->mclk_freq)) params = tx_perf_frame_params_superset; else params = tx_frame_params_superset; break; default: /* MASTER_GENERIC*/ Loading soc/swrm_port_config.h +17 −5 Original line number Diff line number Diff line /* Copyright (c) 2018 The Linux Foundation. All rights reserved. /* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -21,6 +21,7 @@ *{ si, off1, off2, hstart, hstop, wd_len, bp_mode, bgp_ctrl, lane_ctrl} */ /* WSA ports - DAC, COMP, BOOST, DAC, COMP, BOOST, VI, VI */ struct port_params wsa_frame_superset[SWR_MSTR_PORT_LEN] = { {7, 1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, {31, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, Loading @@ -32,6 +33,7 @@ struct port_params wsa_frame_superset[SWR_MSTR_PORT_LEN] = { {15, 10, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, }; /* RX ports - HPH, CLSH, COMP, LO, DSD */ struct port_params rx_frame_params[SWR_MSTR_PORT_LEN] = { {3, 0, 0, 0xFF, 0xFF, 1, 0xFF, 0xFF, 1}, {31, 0, 0, 3, 6, 7, 0, 0xFF, 0}, Loading @@ -48,11 +50,21 @@ struct port_params rx_frame_params_dsd[SWR_MSTR_PORT_LEN] = { {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 3, 0}, }; struct port_params tx_frame_params_superset[SWR_MSTR_PORT_LEN] = { /* TX ports - PCM_OUT, TX1, TX2, TX3, TX4 */ struct port_params tx_perf_frame_params_superset[SWR_MSTR_PORT_LEN] = { {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, {1, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {1, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1}, {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {3, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1}, }; struct port_params tx_frame_params_superset[SWR_MSTR_PORT_LEN] = { {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {3, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {3, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, }; #endif /* _SWRM_REGISTERS_H */ Loading
soc/swr-mstr-ctrl.c +7 −1 Original line number Diff line number Diff line Loading @@ -399,6 +399,12 @@ static int swrm_get_port_config(struct swr_mstr_ctrl *swrm) params = rx_frame_params; break; case MASTER_ID_TX: if ((swrm->mport_cfg[0].port_en && swrm->mport_cfg[0].ch_rate == swrm->mclk_freq) || (swrm->mport_cfg[1].port_en && swrm->mport_cfg[1].ch_rate == swrm->mclk_freq)) params = tx_perf_frame_params_superset; else params = tx_frame_params_superset; break; default: /* MASTER_GENERIC*/ Loading
soc/swrm_port_config.h +17 −5 Original line number Diff line number Diff line /* Copyright (c) 2018 The Linux Foundation. All rights reserved. /* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -21,6 +21,7 @@ *{ si, off1, off2, hstart, hstop, wd_len, bp_mode, bgp_ctrl, lane_ctrl} */ /* WSA ports - DAC, COMP, BOOST, DAC, COMP, BOOST, VI, VI */ struct port_params wsa_frame_superset[SWR_MSTR_PORT_LEN] = { {7, 1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, {31, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, Loading @@ -32,6 +33,7 @@ struct port_params wsa_frame_superset[SWR_MSTR_PORT_LEN] = { {15, 10, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, }; /* RX ports - HPH, CLSH, COMP, LO, DSD */ struct port_params rx_frame_params[SWR_MSTR_PORT_LEN] = { {3, 0, 0, 0xFF, 0xFF, 1, 0xFF, 0xFF, 1}, {31, 0, 0, 3, 6, 7, 0, 0xFF, 0}, Loading @@ -48,11 +50,21 @@ struct port_params rx_frame_params_dsd[SWR_MSTR_PORT_LEN] = { {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 3, 0}, }; struct port_params tx_frame_params_superset[SWR_MSTR_PORT_LEN] = { /* TX ports - PCM_OUT, TX1, TX2, TX3, TX4 */ struct port_params tx_perf_frame_params_superset[SWR_MSTR_PORT_LEN] = { {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, {1, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {1, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1}, {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {3, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1}, }; struct port_params tx_frame_params_superset[SWR_MSTR_PORT_LEN] = { {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {3, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, {3, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, }; #endif /* _SWRM_REGISTERS_H */