Commit eebbe254 authored by Wei WANG's avatar Wei WANG Committed by Samuel Ortiz

mfd: rtsx: Use macros to replace some variables

In function rtsx_pci_switch_clock, some variables, such as min_n, max_n,
and max_div, are not necessary. And those assigned values look very
obscure for others. It's more proper to use macro definitions here to
replace these variables.
Signed-off-by: default avatarWei WANG <wei_wang@realsil.com.cn>
Acked-by: default avatarBorislav Petkov <bp@alien8.de>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 678cacdf
...@@ -590,8 +590,7 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock, ...@@ -590,8 +590,7 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock,
u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk) u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk)
{ {
int err, clk; int err, clk;
u8 n, min_n, max_n, clk_divider; u8 n, clk_divider, mcu_cnt, div;
u8 mcu_cnt, div, max_div;
u8 depth[] = { u8 depth[] = {
[RTSX_SSC_DEPTH_4M] = SSC_DEPTH_4M, [RTSX_SSC_DEPTH_4M] = SSC_DEPTH_4M,
[RTSX_SSC_DEPTH_2M] = SSC_DEPTH_2M, [RTSX_SSC_DEPTH_2M] = SSC_DEPTH_2M,
...@@ -615,10 +614,6 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock, ...@@ -615,10 +614,6 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock,
card_clock /= 1000000; card_clock /= 1000000;
dev_dbg(&(pcr->pci->dev), "Switch card clock to %dMHz\n", card_clock); dev_dbg(&(pcr->pci->dev), "Switch card clock to %dMHz\n", card_clock);
min_n = 80;
max_n = 208;
max_div = CLK_DIV_8;
clk = card_clock; clk = card_clock;
if (!initial_mode && double_clk) if (!initial_mode && double_clk)
clk = card_clock * 2; clk = card_clock * 2;
...@@ -633,16 +628,16 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock, ...@@ -633,16 +628,16 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock,
n = (u8)pcr->ops->conv_clk_and_div_n(clk, CLK_TO_DIV_N); n = (u8)pcr->ops->conv_clk_and_div_n(clk, CLK_TO_DIV_N);
else else
n = (u8)(clk - 2); n = (u8)(clk - 2);
if ((clk <= 2) || (n > max_n)) if ((clk <= 2) || (n > MAX_DIV_N_PCR))
return -EINVAL; return -EINVAL;
mcu_cnt = (u8)(125/clk + 3); mcu_cnt = (u8)(125/clk + 3);
if (mcu_cnt > 15) if (mcu_cnt > 15)
mcu_cnt = 15; mcu_cnt = 15;
/* Make sure that the SSC clock div_n is equal or greater than min_n */ /* Make sure that the SSC clock div_n is not less than MIN_DIV_N_PCR */
div = CLK_DIV_1; div = CLK_DIV_1;
while ((n < min_n) && (div < max_div)) { while ((n < MIN_DIV_N_PCR) && (div < CLK_DIV_8)) {
if (pcr->ops->conv_clk_and_div_n) { if (pcr->ops->conv_clk_and_div_n) {
int dbl_clk = pcr->ops->conv_clk_and_div_n(n, int dbl_clk = pcr->ops->conv_clk_and_div_n(n,
DIV_N_TO_CLK) * 2; DIV_N_TO_CLK) * 2;
......
...@@ -25,6 +25,9 @@ ...@@ -25,6 +25,9 @@
#include <linux/mfd/rtsx_pci.h> #include <linux/mfd/rtsx_pci.h>
#define MIN_DIV_N_PCR 80
#define MAX_DIV_N_PCR 208
void rts5209_init_params(struct rtsx_pcr *pcr); void rts5209_init_params(struct rtsx_pcr *pcr);
void rts5229_init_params(struct rtsx_pcr *pcr); void rts5229_init_params(struct rtsx_pcr *pcr);
void rtl8411_init_params(struct rtsx_pcr *pcr); void rtl8411_init_params(struct rtsx_pcr *pcr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment