All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: Re: [PATCH v1 2/2] phy: starfive: Add mipi dphy tx support
Date: Sun, 19 Nov 2023 01:47:48 +0800	[thread overview]
Message-ID: <202311190100.o7J8Bkef-lkp@intel.com> (raw)

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20231117130421.79261-3-shengyang.chen@starfivetech.com>
References: <20231117130421.79261-3-shengyang.chen@starfivetech.com>
TO: Shengyang Chen <shengyang.chen@starfivetech.com>
TO: devicetree@vger.kernel.org
TO: linux-phy@lists.infradead.org
CC: vkoul@kernel.org
CC: kishon@kernel.org
CC: robh+dt@kernel.org
CC: krzysztof.kozlowski+dt@linaro.org
CC: conor+dt@kernel.org
CC: p.zabel@pengutronix.de
CC: minda.chen@starfivetech.com
CC: changhuang.liang@starfivetech.com
CC: rogerq@kernel.org
CC: geert+renesas@glider.be
CC: keith.zhao@starfivetech.com
CC: shengyang.chen@starfivetech.com
CC: linux-kernel@vger.kernel.org

Hi Shengyang,

kernel test robot noticed the following build warnings:

[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v6.7-rc1 next-20231117]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Shengyang-Chen/dt-bindings-phy-Add-starfive-jh7110-dphy-tx/20231117-210751
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link:    https://lore.kernel.org/r/20231117130421.79261-3-shengyang.chen%40starfivetech.com
patch subject: [PATCH v1 2/2] phy: starfive: Add mipi dphy tx support
:::::: branch date: 29 hours ago
:::::: commit date: 29 hours ago
config: csky-randconfig-r111-20231118 (https://download.01.org/0day-ci/archive/20231119/202311190100.o7J8Bkef-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231119/202311190100.o7J8Bkef-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202311190100.o7J8Bkef-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:189:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:189:40: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:189:40: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:197:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:197:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:197:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:222:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:222:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:222:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:224:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:224:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:224:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:226:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:226:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:226:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:228:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:228:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:228:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:230:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:230:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:230:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:232:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:232:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:232:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:234:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:234:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:234:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:236:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:236:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:236:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:238:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:238:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:238:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:240:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:240:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:240:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:250:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:250:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:250:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:254:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:254:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:254:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:260:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:260:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:260:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:263:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:263:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:263:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:266:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:266:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:266:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:269:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:269:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:269:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:272:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:272:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:272:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:276:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:276:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:276:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:279:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:279:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:279:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:282:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:282:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:282:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:286:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:286:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:286:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:289:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:289:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:289:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:292:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:292:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:292:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:295:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:295:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:295:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:298:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:298:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:298:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:302:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:302:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:302:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:306:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:306:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:306:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:310:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:310:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:310:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:314:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:314:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:314:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:318:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:318:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:318:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:322:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:322:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:322:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:326:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:326:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:326:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:330:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:330:46: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:330:46: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:348:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:348:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:348:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:350:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:350:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:350:30: sparse:     got void [noderef] __iomem *topsys
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:353:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *io_addr @@     got void [noderef] __iomem *topsys @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:353:30: sparse:     expected void *io_addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:353:30: sparse:     got void [noderef] __iomem *topsys
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:172:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void *io_addr @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:172:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:172:15: sparse:     got void *io_addr
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse:     got void *
>> drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:184:9: sparse:     got void *
   drivers/phy/starfive/phy-jh7110-dphy-tx.c:181:15: sparse: sparse: too many warnings

vim +189 drivers/phy/starfive/phy-jh7110-dphy-tx.c

c1e89a3b23e556 Shengyang Chen 2023-11-17  167  
c1e89a3b23e556 Shengyang Chen 2023-11-17  168  static inline u32 stf_dphy_get_reg(void *io_addr, u32 addr, u32 shift, u32 mask)
c1e89a3b23e556 Shengyang Chen 2023-11-17  169  {
c1e89a3b23e556 Shengyang Chen 2023-11-17  170  	u32 tmp;
c1e89a3b23e556 Shengyang Chen 2023-11-17  171  
c1e89a3b23e556 Shengyang Chen 2023-11-17 @172  	tmp = readl(io_addr);
c1e89a3b23e556 Shengyang Chen 2023-11-17  173  	tmp = (tmp & mask) >> shift;
c1e89a3b23e556 Shengyang Chen 2023-11-17  174  	return tmp;
c1e89a3b23e556 Shengyang Chen 2023-11-17  175  }
c1e89a3b23e556 Shengyang Chen 2023-11-17  176  
c1e89a3b23e556 Shengyang Chen 2023-11-17  177  static inline void stf_dphy_set_reg(void *io_addr, u32 addr, u32 data, u32 shift, u32 mask)
c1e89a3b23e556 Shengyang Chen 2023-11-17  178  {
c1e89a3b23e556 Shengyang Chen 2023-11-17  179  	u32 tmp;
c1e89a3b23e556 Shengyang Chen 2023-11-17  180  
c1e89a3b23e556 Shengyang Chen 2023-11-17 @181  	tmp = readl(io_addr + addr);
c1e89a3b23e556 Shengyang Chen 2023-11-17  182  	tmp &= ~mask;
c1e89a3b23e556 Shengyang Chen 2023-11-17  183  	tmp |= (data << shift) & mask;
c1e89a3b23e556 Shengyang Chen 2023-11-17 @184  	writel(tmp, (io_addr + addr));
c1e89a3b23e556 Shengyang Chen 2023-11-17  185  }
c1e89a3b23e556 Shengyang Chen 2023-11-17  186  
c1e89a3b23e556 Shengyang Chen 2023-11-17  187  static int is_pll_locked(struct stf_dphy *dphy)
c1e89a3b23e556 Shengyang Chen 2023-11-17  188  {
c1e89a3b23e556 Shengyang Chen 2023-11-17 @189  	int tmp = stf_dphy_get_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(8),
c1e89a3b23e556 Shengyang Chen 2023-11-17  190  				  STF_DPHY_RGS_CDTX_PLL_UNLOCK_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  191  				  STF_DPHY_RGS_CDTX_PLL_UNLOCK_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  192  	return !tmp;
c1e89a3b23e556 Shengyang Chen 2023-11-17  193  }
c1e89a3b23e556 Shengyang Chen 2023-11-17  194  
c1e89a3b23e556 Shengyang Chen 2023-11-17  195  static void stf_dphy_hw_reset(struct stf_dphy *dphy, int assert)
c1e89a3b23e556 Shengyang Chen 2023-11-17  196  {
c1e89a3b23e556 Shengyang Chen 2023-11-17  197  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(100),
c1e89a3b23e556 Shengyang Chen 2023-11-17  198  			 !assert, STF_DPHY_RESETB_SHIFT, STF_DPHY_RESETB_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  199  
c1e89a3b23e556 Shengyang Chen 2023-11-17  200  	if (!assert) {
c1e89a3b23e556 Shengyang Chen 2023-11-17  201  		/*the lock-in time of pll of M31 is 20us-50ms*/
c1e89a3b23e556 Shengyang Chen 2023-11-17  202  		while ((!is_pll_locked(dphy)) && msecs_to_jiffies(50))
c1e89a3b23e556 Shengyang Chen 2023-11-17  203  			;
c1e89a3b23e556 Shengyang Chen 2023-11-17  204  		dev_err(dphy->dev, "MIPI dphy-tx # PLL Locked\n");
c1e89a3b23e556 Shengyang Chen 2023-11-17  205  	}
c1e89a3b23e556 Shengyang Chen 2023-11-17  206  }
c1e89a3b23e556 Shengyang Chen 2023-11-17  207  
c1e89a3b23e556 Shengyang Chen 2023-11-17  208  static int stf_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
c1e89a3b23e556 Shengyang Chen 2023-11-17  209  {
c1e89a3b23e556 Shengyang Chen 2023-11-17  210  	struct stf_dphy *dphy;
c1e89a3b23e556 Shengyang Chen 2023-11-17  211  	u32 bitrate;
c1e89a3b23e556 Shengyang Chen 2023-11-17  212  	unsigned long alignment;
c1e89a3b23e556 Shengyang Chen 2023-11-17  213  	int i;
c1e89a3b23e556 Shengyang Chen 2023-11-17  214  	const struct m31_dphy_config *p;
c1e89a3b23e556 Shengyang Chen 2023-11-17  215  	const u32 STF_DPHY_AON_POWER_READY_N_active = 0;
c1e89a3b23e556 Shengyang Chen 2023-11-17  216  	const struct stf_dphy_info *info;
c1e89a3b23e556 Shengyang Chen 2023-11-17  217  
c1e89a3b23e556 Shengyang Chen 2023-11-17  218  	dphy = phy_get_drvdata(phy);
c1e89a3b23e556 Shengyang Chen 2023-11-17  219  	info = dphy->info;
c1e89a3b23e556 Shengyang Chen 2023-11-17  220  	bitrate = opts->mipi_dphy.hs_clk_rate;
c1e89a3b23e556 Shengyang Chen 2023-11-17  221  
c1e89a3b23e556 Shengyang Chen 2023-11-17  222  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(8), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  223  			 STF_DPHY_RG_CDTX_L0N_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L0N_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  224  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(12), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  225  			 STF_DPHY_RG_CDTX_L0N_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L0N_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  226  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(12), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  227  			 STF_DPHY_RG_CDTX_L2N_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L2N_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  228  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(12), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  229  			 STF_DPHY_RG_CDTX_L3N_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L3N_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  230  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(16), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  231  			 STF_DPHY_RG_CDTX_L4N_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L4N_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  232  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(8), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  233  			 STF_DPHY_RG_CDTX_L0P_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L0P_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  234  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(12), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  235  			 STF_DPHY_RG_CDTX_L1P_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L1P_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  236  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(12), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  237  			 STF_DPHY_RG_CDTX_L2P_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L2P_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  238  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(12), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  239  			 STF_DPHY_RG_CDTX_L3P_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L3P_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  240  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(16), 0x10,
c1e89a3b23e556 Shengyang Chen 2023-11-17  241  			 STF_DPHY_RG_CDTX_L4P_HSTX_RES_SHIFT, STF_DPHY_RG_CDTX_L4P_HSTX_RES_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  242  
c1e89a3b23e556 Shengyang Chen 2023-11-17  243  	alignment = STF_DPHY_BITRATE_ALIGN;
c1e89a3b23e556 Shengyang Chen 2023-11-17  244  	if (bitrate % alignment)
c1e89a3b23e556 Shengyang Chen 2023-11-17  245  		bitrate += alignment - (bitrate % alignment);
c1e89a3b23e556 Shengyang Chen 2023-11-17  246  
c1e89a3b23e556 Shengyang Chen 2023-11-17  247  	p = m31_dphy_configs;
c1e89a3b23e556 Shengyang Chen 2023-11-17  248  	for (i = 0; i < ARRAY_SIZE(m31_dphy_configs); i++, p++) {
c1e89a3b23e556 Shengyang Chen 2023-11-17  249  		if (p->bitrate == bitrate) {
c1e89a3b23e556 Shengyang Chen 2023-11-17  250  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(100),
c1e89a3b23e556 Shengyang Chen 2023-11-17  251  					 STF_DPHY_REFCLK_12M, STF_DPHY_REFCLK_IN_SEL_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  252  					 STF_DPHY_REFCLK_IN_SEL_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  253  
c1e89a3b23e556 Shengyang Chen 2023-11-17  254  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(0),
c1e89a3b23e556 Shengyang Chen 2023-11-17  255  					 STF_DPHY_AON_POWER_READY_N_active,
c1e89a3b23e556 Shengyang Chen 2023-11-17  256  					 STF_DPHY_AON_POWER_READY_N_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  257  					 STF_DPHY_AON_POWER_READY_N_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  258  
c1e89a3b23e556 Shengyang Chen 2023-11-17  259  			/*Lane setting*/
c1e89a3b23e556 Shengyang Chen 2023-11-17  260  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(0), info->maps[0],
c1e89a3b23e556 Shengyang Chen 2023-11-17  261  					 STF_DPHY_CFG_L0_SWAP_SEL_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  262  					 STF_DPHY_CFG_L0_SWAP_SEL_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  263  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(0), info->maps[1],
c1e89a3b23e556 Shengyang Chen 2023-11-17  264  					 STF_DPHY_CFG_L1_SWAP_SEL_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  265  					 STF_DPHY_CFG_L1_SWAP_SEL_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  266  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(0), info->maps[2],
c1e89a3b23e556 Shengyang Chen 2023-11-17  267  					 STF_DPHY_CFG_L2_SWAP_SEL_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  268  					 STF_DPHY_CFG_L2_SWAP_SEL_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  269  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(0), info->maps[3],
c1e89a3b23e556 Shengyang Chen 2023-11-17  270  					 STF_DPHY_CFG_L3_SWAP_SEL_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  271  					 STF_DPHY_CFG_L3_SWAP_SEL_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  272  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(0), info->maps[4],
c1e89a3b23e556 Shengyang Chen 2023-11-17  273  					 STF_DPHY_CFG_L4_SWAP_SEL_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  274  					 STF_DPHY_CFG_L4_SWAP_SEL_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  275  			/*PLL setting*/
c1e89a3b23e556 Shengyang Chen 2023-11-17  276  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(28), 0x0,
c1e89a3b23e556 Shengyang Chen 2023-11-17  277  					 STF_DPHY_RG_CDTX_PLL_SSC_EN_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  278  					 STF_DPHY_RG_CDTX_PLL_SSC_EN_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  279  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(24), 0x1,
c1e89a3b23e556 Shengyang Chen 2023-11-17  280  					 STF_DPHY_RG_CDTX_PLL_LDO_STB_X2_EN_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  281  					 STF_DPHY_RG_CDTX_PLL_LDO_STB_X2_EN_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  282  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(24), 0x1,
c1e89a3b23e556 Shengyang Chen 2023-11-17  283  					 STF_DPHY_RG_CDTX_PLL_FM_EN_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  284  					 STF_DPHY_RG_CDTX_PLL_FM_EN_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  285  
c1e89a3b23e556 Shengyang Chen 2023-11-17  286  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(24),
c1e89a3b23e556 Shengyang Chen 2023-11-17  287  					 p->pll_prev_div, STF_DPHY_RG_CDTX_PLL_PRE_DIV_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  288  					 STF_DPHY_RG_CDTX_PLL_PRE_DIV_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  289  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(24),
c1e89a3b23e556 Shengyang Chen 2023-11-17  290  					 p->pll_fbk_int, STF_DPHY_RG_CDTX_PLL_FBK_INT_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  291  					 STF_DPHY_RG_CDTX_PLL_FBK_INT_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  292  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(20),
c1e89a3b23e556 Shengyang Chen 2023-11-17  293  					 p->pll_fbk_fra, STF_DPHY_RG_CDTX_PLL_FBK_FRA_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  294  					 STF_DPHY_RG_CDTX_PLL_FBK_FRA_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  295  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(40),
c1e89a3b23e556 Shengyang Chen 2023-11-17  296  					 p->extd_cycle_sel, STF_DPHY_RG_EXTD_CYCLE_SEL_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  297  					 STF_DPHY_RG_EXTD_CYCLE_SEL_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  298  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(36),
c1e89a3b23e556 Shengyang Chen 2023-11-17  299  					 p->dlane_hs_pre_time,
c1e89a3b23e556 Shengyang Chen 2023-11-17  300  					 STF_DPHY_RG_DLANE_HS_PRE_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  301  					 STF_DPHY_RG_DLANE_HS_PRE_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  302  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(36),
c1e89a3b23e556 Shengyang Chen 2023-11-17  303  					 p->dlane_hs_pre_time,
c1e89a3b23e556 Shengyang Chen 2023-11-17  304  					 STF_DPHY_RG_DLANE_HS_PRE_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  305  					 STF_DPHY_RG_DLANE_HS_PRE_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  306  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(36),
c1e89a3b23e556 Shengyang Chen 2023-11-17  307  					 p->dlane_hs_zero_time,
c1e89a3b23e556 Shengyang Chen 2023-11-17  308  					 STF_DPHY_RG_DLANE_HS_ZERO_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  309  					 STF_DPHY_RG_DLANE_HS_ZERO_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  310  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(36),
c1e89a3b23e556 Shengyang Chen 2023-11-17  311  					 p->dlane_hs_trail_time,
c1e89a3b23e556 Shengyang Chen 2023-11-17  312  					 STF_DPHY_RG_DLANE_HS_TRAIL_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  313  					 STF_DPHY_RG_DLANE_HS_TRAIL_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  314  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(32),
c1e89a3b23e556 Shengyang Chen 2023-11-17  315  					 p->clane_hs_pre_time,
c1e89a3b23e556 Shengyang Chen 2023-11-17  316  					 STF_DPHY_RG_CLANE_HS_PRE_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  317  					 STF_DPHY_RG_CLANE_HS_PRE_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  318  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(36),
c1e89a3b23e556 Shengyang Chen 2023-11-17  319  					 p->clane_hs_zero_time,
c1e89a3b23e556 Shengyang Chen 2023-11-17  320  					 STF_DPHY_RG_CLANE_HS_ZERO_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  321  					 STF_DPHY_RG_CLANE_HS_ZERO_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  322  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(32),
c1e89a3b23e556 Shengyang Chen 2023-11-17  323  					 p->clane_hs_trail_time,
c1e89a3b23e556 Shengyang Chen 2023-11-17  324  					 STF_DPHY_RG_CLANE_HS_TRAIL_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  325  					 STF_DPHY_RG_CLANE_HS_TRAIL_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  326  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(32),
c1e89a3b23e556 Shengyang Chen 2023-11-17  327  					 p->clane_hs_clk_pre_time,
c1e89a3b23e556 Shengyang Chen 2023-11-17  328  					 STF_DPHY_RG_CLANE_HS_CLK_PRE_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  329  					 STF_DPHY_RG_CLANE_HS_CLK_PRE_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  330  			stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(32),
c1e89a3b23e556 Shengyang Chen 2023-11-17  331  					 p->clane_hs_clk_post_time,
c1e89a3b23e556 Shengyang Chen 2023-11-17  332  					 STF_DPHY_RG_CLANE_HS_CLK_POST_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  333  					 STF_DPHY_RG_CLANE_HS_CLK_POST_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  334  
c1e89a3b23e556 Shengyang Chen 2023-11-17  335  			break;
c1e89a3b23e556 Shengyang Chen 2023-11-17  336  		}
c1e89a3b23e556 Shengyang Chen 2023-11-17  337  	}
c1e89a3b23e556 Shengyang Chen 2023-11-17  338  
c1e89a3b23e556 Shengyang Chen 2023-11-17  339  	return 0;
c1e89a3b23e556 Shengyang Chen 2023-11-17  340  }
c1e89a3b23e556 Shengyang Chen 2023-11-17  341  
c1e89a3b23e556 Shengyang Chen 2023-11-17  342  static int stf_dphy_init(struct phy *phy)
c1e89a3b23e556 Shengyang Chen 2023-11-17  343  {
c1e89a3b23e556 Shengyang Chen 2023-11-17  344  	struct stf_dphy *dphy = phy_get_drvdata(phy);
c1e89a3b23e556 Shengyang Chen 2023-11-17  345  	int ret;
c1e89a3b23e556 Shengyang Chen 2023-11-17  346  
c1e89a3b23e556 Shengyang Chen 2023-11-17  347  	stf_dphy_hw_reset(dphy, 0);
c1e89a3b23e556 Shengyang Chen 2023-11-17 @348  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(48), 0,
c1e89a3b23e556 Shengyang Chen 2023-11-17  349  			 STF_DPHY_SCFG_PPI_C_READY_SEL_SHIFT, STF_DPHY_SCFG_PPI_C_READY_SEL_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17 @350  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(48), 0,
c1e89a3b23e556 Shengyang Chen 2023-11-17  351  			 STF_DPHY_SCFG_DSI_TXREADY_ESC_SEL_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  352  			 STF_DPHY_SCFG_DSI_TXREADY_ESC_SEL_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17 @353  	stf_dphy_set_reg(dphy->topsys, STF_DPHY_APBIFSAIF_SYSCFG(44), 0x30,
c1e89a3b23e556 Shengyang Chen 2023-11-17  354  			 STF_DPHY_SCFG_C_HS_PRE_ZERO_TIME_SHIFT,
c1e89a3b23e556 Shengyang Chen 2023-11-17  355  			 STF_DPHY_SCFG_C_HS_PRE_ZERO_TIME_MASK);
c1e89a3b23e556 Shengyang Chen 2023-11-17  356  
c1e89a3b23e556 Shengyang Chen 2023-11-17  357  	ret = clk_prepare_enable(dphy->txesc_clk);
c1e89a3b23e556 Shengyang Chen 2023-11-17  358  	if (ret) {
c1e89a3b23e556 Shengyang Chen 2023-11-17  359  		dev_err(dphy->dev, "Failed to prepare/enable txesc_clk\n");
c1e89a3b23e556 Shengyang Chen 2023-11-17  360  		return ret;
c1e89a3b23e556 Shengyang Chen 2023-11-17  361  	}
c1e89a3b23e556 Shengyang Chen 2023-11-17  362  
c1e89a3b23e556 Shengyang Chen 2023-11-17  363  	ret = reset_control_deassert(dphy->sys_rst);
c1e89a3b23e556 Shengyang Chen 2023-11-17  364  	if (ret) {
c1e89a3b23e556 Shengyang Chen 2023-11-17  365  		dev_err(dphy->dev, "Failed to deassert sys_rst\n");
c1e89a3b23e556 Shengyang Chen 2023-11-17  366  		return ret;
c1e89a3b23e556 Shengyang Chen 2023-11-17  367  	}
c1e89a3b23e556 Shengyang Chen 2023-11-17  368  
c1e89a3b23e556 Shengyang Chen 2023-11-17  369  	ret = reset_control_deassert(dphy->txbytehs_rst);
c1e89a3b23e556 Shengyang Chen 2023-11-17  370  	if (ret < 0) {
c1e89a3b23e556 Shengyang Chen 2023-11-17  371  		dev_err(dphy->dev, "Failed to deassert txbytehs_rst\n");
c1e89a3b23e556 Shengyang Chen 2023-11-17  372  		return ret;
c1e89a3b23e556 Shengyang Chen 2023-11-17  373  	}
c1e89a3b23e556 Shengyang Chen 2023-11-17  374  
c1e89a3b23e556 Shengyang Chen 2023-11-17  375  	return 0;
c1e89a3b23e556 Shengyang Chen 2023-11-17  376  }
c1e89a3b23e556 Shengyang Chen 2023-11-17  377  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2023-11-18 17:48 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-18 17:47 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-11-21  6:47 [PATCH v1 2/2] phy: starfive: Add mipi dphy tx support kernel test robot
2023-11-17 13:04 [PATCH v1 0/2] Add JH7110 MIPI DPHY TX support Shengyang Chen
2023-11-17 13:04 ` [PATCH v1 2/2] phy: starfive: Add mipi dphy tx support Shengyang Chen
2023-11-17 13:04   ` Shengyang Chen
2023-11-27 12:55   ` Vinod Koul
2023-11-27 12:55     ` Vinod Koul
2023-12-04  7:05     ` Shengyang Chen
2023-12-04  7:05       ` Shengyang Chen
2023-11-27 13:17   ` Philipp Zabel
2023-11-27 13:17     ` Philipp Zabel
2023-12-04  7:22     ` Shengyang Chen
2023-12-04  7:22       ` Shengyang Chen
2023-11-30 17:30   ` kernel test robot
2023-11-30 17:30     ` kernel test robot
2023-12-04  7:31     ` Shengyang Chen
2023-12-04  7:31       ` Shengyang Chen
2023-11-30 18:04   ` kernel test robot
2023-11-30 18:04     ` kernel test robot
2023-12-04 16:26   ` kernel test robot
2023-12-04 16:26     ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202311190100.o7J8Bkef-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.