Re: [PATCH v2 2/2] clk: qcom: Add display clock controller driver for SDM845

2018-06-13 Thread kbuild test robot
Hi Taniya,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on clk/clk-next]
[also build test ERROR on next-20180613]
[cannot apply to v4.17]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Taniya-Das/Add-display-clock-controller-driver-for-SDM845/20180613-183754
base:   https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

>> drivers/clk/qcom/dispcc-sdm845.c:130:2: error: implicit declaration of 
>> function 'F'; did you mean 'FS'? [-Werror=implicit-function-declaration]
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
 FS
   drivers/clk/qcom/dispcc-sdm845.c:130:2: error: initializer element is not 
constant
   drivers/clk/qcom/dispcc-sdm845.c:130:2: note: (near initialization for 
'ftbl_disp_cc_mdss_esc0_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:131:2: warning: braces around scalar 
initializer
 { }
 ^
   drivers/clk/qcom/dispcc-sdm845.c:131:2: note: (near initialization for 
'ftbl_disp_cc_mdss_esc0_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:163:2: error: initializer element is not 
constant
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:163:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:164:2: error: initializer element is not 
constant
 F(85714286, P_GPLL0_OUT_MAIN, 7, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:164:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:165:2: error: initializer element is not 
constant
 F(1, P_GPLL0_OUT_MAIN, 6, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:165:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:166:2: error: initializer element is not 
constant
 F(15000, P_GPLL0_OUT_MAIN, 4, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:166:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].m')
   drivers/clk/qcom/dispcc-sdm845.c:167:2: error: initializer element is not 
constant
 F(171428571, P_GPLL0_OUT_MAIN, 3.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:167:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].n')
   drivers/clk/qcom/dispcc-sdm845.c:168:2: error: initializer element is not 
constant
 F(2, P_GPLL0_OUT_MAIN, 3, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:168:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].freq')
   drivers/clk/qcom/dispcc-sdm845.c:169:2: error: initializer element is not 
constant
 F(3, P_GPLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:169:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].src')
   drivers/clk/qcom/dispcc-sdm845.c:170:2: error: initializer element is not 
constant
 F(34400, P_DISP_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:170:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:171:2: error: initializer element is not 
constant
 F(43000, P_DISP_CC_PLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:171:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].m')
   drivers/clk/qcom/dispcc-sdm845.c:172:2: warning: braces around scalar 
initializer
 { }
 ^
   drivers/clk/qcom/dispcc-sdm845.c:172:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].n')
   drivers/clk/qcom/dispcc-sdm845.c:218:2: error: initializer element is not 
constant
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:218:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:219:2: error: initializer element is not 
constant
 F(171428571, P_GPLL0_OUT_MAIN, 3.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:219:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:220:2: error: initializer element is not 
constant
 F(3, P_GPLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:220:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:221:2: error: initializer element is not 
constant
 F(34400, P_DISP_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:221:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].m')
   drivers/clk/qcom/dispcc-sdm845.c:222:2: error: initializer element is not 
constant
 F(43000, P_DISP_CC_PLL0_OUT_MAIN, 

Re: [PATCH v2 2/2] clk: qcom: Add display clock controller driver for SDM845

2018-06-13 Thread kbuild test robot
Hi Taniya,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on clk/clk-next]
[also build test ERROR on next-20180613]
[cannot apply to v4.17]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Taniya-Das/Add-display-clock-controller-driver-for-SDM845/20180613-183754
base:   https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

>> drivers/clk/qcom/dispcc-sdm845.c:130:2: error: implicit declaration of 
>> function 'F'; did you mean 'FS'? [-Werror=implicit-function-declaration]
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
 FS
   drivers/clk/qcom/dispcc-sdm845.c:130:2: error: initializer element is not 
constant
   drivers/clk/qcom/dispcc-sdm845.c:130:2: note: (near initialization for 
'ftbl_disp_cc_mdss_esc0_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:131:2: warning: braces around scalar 
initializer
 { }
 ^
   drivers/clk/qcom/dispcc-sdm845.c:131:2: note: (near initialization for 
'ftbl_disp_cc_mdss_esc0_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:163:2: error: initializer element is not 
constant
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:163:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:164:2: error: initializer element is not 
constant
 F(85714286, P_GPLL0_OUT_MAIN, 7, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:164:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:165:2: error: initializer element is not 
constant
 F(1, P_GPLL0_OUT_MAIN, 6, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:165:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:166:2: error: initializer element is not 
constant
 F(15000, P_GPLL0_OUT_MAIN, 4, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:166:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].m')
   drivers/clk/qcom/dispcc-sdm845.c:167:2: error: initializer element is not 
constant
 F(171428571, P_GPLL0_OUT_MAIN, 3.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:167:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].n')
   drivers/clk/qcom/dispcc-sdm845.c:168:2: error: initializer element is not 
constant
 F(2, P_GPLL0_OUT_MAIN, 3, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:168:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].freq')
   drivers/clk/qcom/dispcc-sdm845.c:169:2: error: initializer element is not 
constant
 F(3, P_GPLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:169:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].src')
   drivers/clk/qcom/dispcc-sdm845.c:170:2: error: initializer element is not 
constant
 F(34400, P_DISP_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:170:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:171:2: error: initializer element is not 
constant
 F(43000, P_DISP_CC_PLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:171:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].m')
   drivers/clk/qcom/dispcc-sdm845.c:172:2: warning: braces around scalar 
initializer
 { }
 ^
   drivers/clk/qcom/dispcc-sdm845.c:172:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].n')
   drivers/clk/qcom/dispcc-sdm845.c:218:2: error: initializer element is not 
constant
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:218:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:219:2: error: initializer element is not 
constant
 F(171428571, P_GPLL0_OUT_MAIN, 3.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:219:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:220:2: error: initializer element is not 
constant
 F(3, P_GPLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:220:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:221:2: error: initializer element is not 
constant
 F(34400, P_DISP_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:221:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].m')
   drivers/clk/qcom/dispcc-sdm845.c:222:2: error: initializer element is not 
constant
 F(43000, P_DISP_CC_PLL0_OUT_MAIN, 

Re: [PATCH v2 2/2] clk: qcom: Add display clock controller driver for SDM845

2018-06-13 Thread kbuild test robot
Hi Taniya,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on clk/clk-next]
[also build test ERROR on next-20180613]
[cannot apply to v4.17]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Taniya-Das/Add-display-clock-controller-driver-for-SDM845/20180613-183754
base:   https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=sh 

All error/warnings (new ones prefixed by >>):

>> drivers/clk/qcom/dispcc-sdm845.c:130:2: error: implicit declaration of 
>> function 'F' [-Werror=implicit-function-declaration]
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
>> drivers/clk/qcom/dispcc-sdm845.c:130:2: error: initializer element is not 
>> constant
   drivers/clk/qcom/dispcc-sdm845.c:130:2: note: (near initialization for 
'ftbl_disp_cc_mdss_esc0_clk_src[0].freq')
>> drivers/clk/qcom/dispcc-sdm845.c:131:2: warning: braces around scalar 
>> initializer
 { }
 ^
   drivers/clk/qcom/dispcc-sdm845.c:131:2: note: (near initialization for 
'ftbl_disp_cc_mdss_esc0_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:163:2: error: initializer element is not 
constant
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:163:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:164:2: error: initializer element is not 
constant
 F(85714286, P_GPLL0_OUT_MAIN, 7, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:164:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:165:2: error: initializer element is not 
constant
 F(1, P_GPLL0_OUT_MAIN, 6, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:165:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:166:2: error: initializer element is not 
constant
 F(15000, P_GPLL0_OUT_MAIN, 4, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:166:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].m')
   drivers/clk/qcom/dispcc-sdm845.c:167:2: error: initializer element is not 
constant
 F(171428571, P_GPLL0_OUT_MAIN, 3.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:167:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].n')
   drivers/clk/qcom/dispcc-sdm845.c:168:2: error: initializer element is not 
constant
 F(2, P_GPLL0_OUT_MAIN, 3, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:168:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].freq')
   drivers/clk/qcom/dispcc-sdm845.c:169:2: error: initializer element is not 
constant
 F(3, P_GPLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:169:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].src')
   drivers/clk/qcom/dispcc-sdm845.c:170:2: error: initializer element is not 
constant
 F(34400, P_DISP_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:170:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:171:2: error: initializer element is not 
constant
 F(43000, P_DISP_CC_PLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:171:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].m')
   drivers/clk/qcom/dispcc-sdm845.c:172:2: warning: braces around scalar 
initializer
 { }
 ^
   drivers/clk/qcom/dispcc-sdm845.c:172:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].n')
   drivers/clk/qcom/dispcc-sdm845.c:218:2: error: initializer element is not 
constant
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:218:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:219:2: error: initializer element is not 
constant
 F(171428571, P_GPLL0_OUT_MAIN, 3.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:219:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:220:2: error: initializer element is not 
constant
 F(3, P_GPLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:220:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:221:2: error: initializer element is not 
constant
 F(34400, P_DISP_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:221:2: note: (near initialization for 

Re: [PATCH v2 2/2] clk: qcom: Add display clock controller driver for SDM845

2018-06-13 Thread kbuild test robot
Hi Taniya,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on clk/clk-next]
[also build test ERROR on next-20180613]
[cannot apply to v4.17]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Taniya-Das/Add-display-clock-controller-driver-for-SDM845/20180613-183754
base:   https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=sh 

All error/warnings (new ones prefixed by >>):

>> drivers/clk/qcom/dispcc-sdm845.c:130:2: error: implicit declaration of 
>> function 'F' [-Werror=implicit-function-declaration]
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
>> drivers/clk/qcom/dispcc-sdm845.c:130:2: error: initializer element is not 
>> constant
   drivers/clk/qcom/dispcc-sdm845.c:130:2: note: (near initialization for 
'ftbl_disp_cc_mdss_esc0_clk_src[0].freq')
>> drivers/clk/qcom/dispcc-sdm845.c:131:2: warning: braces around scalar 
>> initializer
 { }
 ^
   drivers/clk/qcom/dispcc-sdm845.c:131:2: note: (near initialization for 
'ftbl_disp_cc_mdss_esc0_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:163:2: error: initializer element is not 
constant
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:163:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:164:2: error: initializer element is not 
constant
 F(85714286, P_GPLL0_OUT_MAIN, 7, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:164:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:165:2: error: initializer element is not 
constant
 F(1, P_GPLL0_OUT_MAIN, 6, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:165:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:166:2: error: initializer element is not 
constant
 F(15000, P_GPLL0_OUT_MAIN, 4, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:166:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].m')
   drivers/clk/qcom/dispcc-sdm845.c:167:2: error: initializer element is not 
constant
 F(171428571, P_GPLL0_OUT_MAIN, 3.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:167:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[0].n')
   drivers/clk/qcom/dispcc-sdm845.c:168:2: error: initializer element is not 
constant
 F(2, P_GPLL0_OUT_MAIN, 3, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:168:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].freq')
   drivers/clk/qcom/dispcc-sdm845.c:169:2: error: initializer element is not 
constant
 F(3, P_GPLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:169:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].src')
   drivers/clk/qcom/dispcc-sdm845.c:170:2: error: initializer element is not 
constant
 F(34400, P_DISP_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:170:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:171:2: error: initializer element is not 
constant
 F(43000, P_DISP_CC_PLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:171:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].m')
   drivers/clk/qcom/dispcc-sdm845.c:172:2: warning: braces around scalar 
initializer
 { }
 ^
   drivers/clk/qcom/dispcc-sdm845.c:172:2: note: (near initialization for 
'ftbl_disp_cc_mdss_mdp_clk_src[1].n')
   drivers/clk/qcom/dispcc-sdm845.c:218:2: error: initializer element is not 
constant
 F(1920, P_BI_TCXO, 1, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:218:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].freq')
   drivers/clk/qcom/dispcc-sdm845.c:219:2: error: initializer element is not 
constant
 F(171428571, P_GPLL0_OUT_MAIN, 3.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:219:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].src')
   drivers/clk/qcom/dispcc-sdm845.c:220:2: error: initializer element is not 
constant
 F(3, P_GPLL0_OUT_MAIN, 2, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:220:2: note: (near initialization for 
'ftbl_disp_cc_mdss_rot_clk_src[0].pre_div')
   drivers/clk/qcom/dispcc-sdm845.c:221:2: error: initializer element is not 
constant
 F(34400, P_DISP_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
 ^
   drivers/clk/qcom/dispcc-sdm845.c:221:2: note: (near initialization for 

[PATCH v2 2/2] clk: qcom: Add display clock controller driver for SDM845

2018-06-13 Thread Taniya Das
Add support for the display clock controller found on SDM845
based devices. This would allow display drivers to probe and
control their clocks.

Signed-off-by: Taniya Das 
---
 drivers/clk/qcom/Kconfig |  10 +
 drivers/clk/qcom/Makefile|   1 +
 drivers/clk/qcom/dispcc-sdm845.c | 674 +++
 3 files changed, 685 insertions(+)
 create mode 100644 drivers/clk/qcom/dispcc-sdm845.c

diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
index 9c3480d..7300574 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -245,6 +245,16 @@ config SDM_VIDEOCC_845
  Say Y if you want to support video devices and functionality such as
  video encode and decode.
 
+config SDM_DISPCC_845
+   tristate "SDM845 Display Clock Controller"
+   select SDM_GCC_845
+   depends on COMMON_CLK_QCOM
+   help
+ Support for the display clock controller on Qualcomm Technologies, Inc
+ SDM845 devices.
+ Say Y if you want to support display devices and functionality such as
+ splash screen.
+
 config SPMI_PMIC_CLKDIV
tristate "SPMI PMIC clkdiv Support"
depends on (COMMON_CLK_QCOM && SPMI) || COMPILE_TEST
diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
index 762c011..2b041b2d 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
@@ -38,6 +38,7 @@ obj-$(CONFIG_QCOM_A53PLL) += a53-pll.o
 obj-$(CONFIG_QCOM_CLK_APCS_MSM8916) += apcs-msm8916.o
 obj-$(CONFIG_QCOM_CLK_RPM) += clk-rpm.o
 obj-$(CONFIG_QCOM_CLK_SMD_RPM) += clk-smd-rpm.o
+obj-$(CONFIG_SDM_DISPCC_845) += dispcc-sdm845.o
 obj-$(CONFIG_SDM_GCC_845) += gcc-sdm845.o
 obj-$(CONFIG_SDM_VIDEOCC_845) += videocc-sdm845.o
 obj-$(CONFIG_SPMI_PMIC_CLKDIV) += clk-spmi-pmic-div.o
diff --git a/drivers/clk/qcom/dispcc-sdm845.c b/drivers/clk/qcom/dispcc-sdm845.c
new file mode 100644
index 000..af437e0
--- /dev/null
+++ b/drivers/clk/qcom/dispcc-sdm845.c
@@ -0,0 +1,674 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2018, The Linux Foundation. All rights reserved.
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+
+#include "clk-alpha-pll.h"
+#include "clk-branch.h"
+#include "clk-rcg.h"
+#include "clk-regmap-divider.h"
+#include "common.h"
+#include "gdsc.h"
+#include "reset.h"
+
+enum {
+   P_BI_TCXO,
+   P_CORE_BI_PLL_TEST_SE,
+   P_DISP_CC_PLL0_OUT_MAIN,
+   P_DSI0_PHY_PLL_OUT_BYTECLK,
+   P_DSI0_PHY_PLL_OUT_DSICLK,
+   P_DSI1_PHY_PLL_OUT_BYTECLK,
+   P_DSI1_PHY_PLL_OUT_DSICLK,
+   P_GPLL0_OUT_MAIN,
+   P_GPLL0_OUT_MAIN_DIV,
+};
+
+static const struct parent_map disp_cc_parent_map_0[] = {
+   { P_BI_TCXO, 0 },
+   { P_DSI0_PHY_PLL_OUT_BYTECLK, 1 },
+   { P_DSI1_PHY_PLL_OUT_BYTECLK, 2 },
+   { P_CORE_BI_PLL_TEST_SE, 7 },
+};
+
+static const char * const disp_cc_parent_names_0[] = {
+   "bi_tcxo",
+   "dsi0_phy_pll_out_byteclk",
+   "dsi1_phy_pll_out_byteclk",
+   "core_bi_pll_test_se",
+};
+
+static const struct parent_map disp_cc_parent_map_2[] = {
+   { P_BI_TCXO, 0 },
+   { P_CORE_BI_PLL_TEST_SE, 7 },
+};
+
+static const char * const disp_cc_parent_names_2[] = {
+   "bi_tcxo",
+   "core_bi_pll_test_se",
+};
+
+static const struct parent_map disp_cc_parent_map_3[] = {
+   { P_BI_TCXO, 0 },
+   { P_DISP_CC_PLL0_OUT_MAIN, 1 },
+   { P_GPLL0_OUT_MAIN, 4 },
+   { P_GPLL0_OUT_MAIN_DIV, 5 },
+   { P_CORE_BI_PLL_TEST_SE, 7 },
+};
+
+static const char * const disp_cc_parent_names_3[] = {
+   "bi_tcxo",
+   "disp_cc_pll0",
+   "gcc_disp_gpll0_clk_src",
+   "gcc_disp_gpll0_div_clk_src",
+   "core_bi_pll_test_se",
+};
+
+static const struct parent_map disp_cc_parent_map_4[] = {
+   { P_BI_TCXO, 0 },
+   { P_DSI0_PHY_PLL_OUT_DSICLK, 1 },
+   { P_DSI1_PHY_PLL_OUT_DSICLK, 2 },
+   { P_CORE_BI_PLL_TEST_SE, 7 },
+};
+
+static const char * const disp_cc_parent_names_4[] = {
+   "bi_tcxo",
+   "dsi0_phy_pll_out_dsiclk",
+   "dsi1_phy_pll_out_dsiclk",
+   "core_bi_pll_test_se",
+};
+
+static struct clk_alpha_pll disp_cc_pll0 = {
+   .offset = 0x0,
+   .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA],
+   .clkr = {
+   .hw.init = &(struct clk_init_data){
+   .name = "disp_cc_pll0",
+   .parent_names = (const char *[]){ "bi_tcxo" },
+   .num_parents = 1,
+   .ops = _alpha_pll_fabia_ops,
+   },
+   },
+};
+
+static struct clk_rcg2 disp_cc_mdss_byte0_clk_src = {
+   .cmd_rcgr = 0x20d0,
+   .mnd_width = 0,
+   .hid_width = 5,
+   .parent_map = disp_cc_parent_map_0,
+   .clkr.hw.init = &(struct clk_init_data){
+   .name = "disp_cc_mdss_byte0_clk_src",
+   .parent_names = disp_cc_parent_names_0,
+   .num_parents = 4,
+   .flags = CLK_SET_RATE_PARENT | 

[PATCH v2 2/2] clk: qcom: Add display clock controller driver for SDM845

2018-06-13 Thread Taniya Das
Add support for the display clock controller found on SDM845
based devices. This would allow display drivers to probe and
control their clocks.

Signed-off-by: Taniya Das 
---
 drivers/clk/qcom/Kconfig |  10 +
 drivers/clk/qcom/Makefile|   1 +
 drivers/clk/qcom/dispcc-sdm845.c | 674 +++
 3 files changed, 685 insertions(+)
 create mode 100644 drivers/clk/qcom/dispcc-sdm845.c

diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
index 9c3480d..7300574 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -245,6 +245,16 @@ config SDM_VIDEOCC_845
  Say Y if you want to support video devices and functionality such as
  video encode and decode.
 
+config SDM_DISPCC_845
+   tristate "SDM845 Display Clock Controller"
+   select SDM_GCC_845
+   depends on COMMON_CLK_QCOM
+   help
+ Support for the display clock controller on Qualcomm Technologies, Inc
+ SDM845 devices.
+ Say Y if you want to support display devices and functionality such as
+ splash screen.
+
 config SPMI_PMIC_CLKDIV
tristate "SPMI PMIC clkdiv Support"
depends on (COMMON_CLK_QCOM && SPMI) || COMPILE_TEST
diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
index 762c011..2b041b2d 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
@@ -38,6 +38,7 @@ obj-$(CONFIG_QCOM_A53PLL) += a53-pll.o
 obj-$(CONFIG_QCOM_CLK_APCS_MSM8916) += apcs-msm8916.o
 obj-$(CONFIG_QCOM_CLK_RPM) += clk-rpm.o
 obj-$(CONFIG_QCOM_CLK_SMD_RPM) += clk-smd-rpm.o
+obj-$(CONFIG_SDM_DISPCC_845) += dispcc-sdm845.o
 obj-$(CONFIG_SDM_GCC_845) += gcc-sdm845.o
 obj-$(CONFIG_SDM_VIDEOCC_845) += videocc-sdm845.o
 obj-$(CONFIG_SPMI_PMIC_CLKDIV) += clk-spmi-pmic-div.o
diff --git a/drivers/clk/qcom/dispcc-sdm845.c b/drivers/clk/qcom/dispcc-sdm845.c
new file mode 100644
index 000..af437e0
--- /dev/null
+++ b/drivers/clk/qcom/dispcc-sdm845.c
@@ -0,0 +1,674 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2018, The Linux Foundation. All rights reserved.
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+
+#include "clk-alpha-pll.h"
+#include "clk-branch.h"
+#include "clk-rcg.h"
+#include "clk-regmap-divider.h"
+#include "common.h"
+#include "gdsc.h"
+#include "reset.h"
+
+enum {
+   P_BI_TCXO,
+   P_CORE_BI_PLL_TEST_SE,
+   P_DISP_CC_PLL0_OUT_MAIN,
+   P_DSI0_PHY_PLL_OUT_BYTECLK,
+   P_DSI0_PHY_PLL_OUT_DSICLK,
+   P_DSI1_PHY_PLL_OUT_BYTECLK,
+   P_DSI1_PHY_PLL_OUT_DSICLK,
+   P_GPLL0_OUT_MAIN,
+   P_GPLL0_OUT_MAIN_DIV,
+};
+
+static const struct parent_map disp_cc_parent_map_0[] = {
+   { P_BI_TCXO, 0 },
+   { P_DSI0_PHY_PLL_OUT_BYTECLK, 1 },
+   { P_DSI1_PHY_PLL_OUT_BYTECLK, 2 },
+   { P_CORE_BI_PLL_TEST_SE, 7 },
+};
+
+static const char * const disp_cc_parent_names_0[] = {
+   "bi_tcxo",
+   "dsi0_phy_pll_out_byteclk",
+   "dsi1_phy_pll_out_byteclk",
+   "core_bi_pll_test_se",
+};
+
+static const struct parent_map disp_cc_parent_map_2[] = {
+   { P_BI_TCXO, 0 },
+   { P_CORE_BI_PLL_TEST_SE, 7 },
+};
+
+static const char * const disp_cc_parent_names_2[] = {
+   "bi_tcxo",
+   "core_bi_pll_test_se",
+};
+
+static const struct parent_map disp_cc_parent_map_3[] = {
+   { P_BI_TCXO, 0 },
+   { P_DISP_CC_PLL0_OUT_MAIN, 1 },
+   { P_GPLL0_OUT_MAIN, 4 },
+   { P_GPLL0_OUT_MAIN_DIV, 5 },
+   { P_CORE_BI_PLL_TEST_SE, 7 },
+};
+
+static const char * const disp_cc_parent_names_3[] = {
+   "bi_tcxo",
+   "disp_cc_pll0",
+   "gcc_disp_gpll0_clk_src",
+   "gcc_disp_gpll0_div_clk_src",
+   "core_bi_pll_test_se",
+};
+
+static const struct parent_map disp_cc_parent_map_4[] = {
+   { P_BI_TCXO, 0 },
+   { P_DSI0_PHY_PLL_OUT_DSICLK, 1 },
+   { P_DSI1_PHY_PLL_OUT_DSICLK, 2 },
+   { P_CORE_BI_PLL_TEST_SE, 7 },
+};
+
+static const char * const disp_cc_parent_names_4[] = {
+   "bi_tcxo",
+   "dsi0_phy_pll_out_dsiclk",
+   "dsi1_phy_pll_out_dsiclk",
+   "core_bi_pll_test_se",
+};
+
+static struct clk_alpha_pll disp_cc_pll0 = {
+   .offset = 0x0,
+   .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA],
+   .clkr = {
+   .hw.init = &(struct clk_init_data){
+   .name = "disp_cc_pll0",
+   .parent_names = (const char *[]){ "bi_tcxo" },
+   .num_parents = 1,
+   .ops = _alpha_pll_fabia_ops,
+   },
+   },
+};
+
+static struct clk_rcg2 disp_cc_mdss_byte0_clk_src = {
+   .cmd_rcgr = 0x20d0,
+   .mnd_width = 0,
+   .hid_width = 5,
+   .parent_map = disp_cc_parent_map_0,
+   .clkr.hw.init = &(struct clk_init_data){
+   .name = "disp_cc_mdss_byte0_clk_src",
+   .parent_names = disp_cc_parent_names_0,
+   .num_parents = 4,
+   .flags = CLK_SET_RATE_PARENT |