All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Durai Manickam KR <durai.manickamkr@microchip.com>,
	linux-i3c@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, alexandre.belloni@bootlin.com,
	Frank.Li@nxp.com, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, balamanikandan.gunasundar@microchip.com,
	nicolas.ferre@microchip.com
Cc: oe-kbuild-all@lists.linux.dev,
	Durai Manickam KR <durai.manickamkr@microchip.com>
Subject: Re: [PATCH 2/4] i3c: master: add Microchip SAMA7D65 I3C HCI master driver
Date: Wed, 10 Sep 2025 13:57:15 +0800	[thread overview]
Message-ID: <202509101550.Bpclx47x-lkp@intel.com> (raw)
In-Reply-To: <20250909111333.170016-3-durai.manickamkr@microchip.com>

Hi Durai,

kernel test robot noticed the following build errors:

[auto build test ERROR on clk/clk-next]
[also build test ERROR on robh/for-next linus/master v6.17-rc5 next-20250909]
[cannot apply to abelloni/rtc-next]
[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/Durai-Manickam-KR/clk-at91-sama7d65-add-peripheral-clock-for-I3C/20250909-192231
base:   https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
patch link:    https://lore.kernel.org/r/20250909111333.170016-3-durai.manickamkr%40microchip.com
patch subject: [PATCH 2/4] i3c: master: add Microchip SAMA7D65 I3C HCI master driver
config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20250910/202509101550.Bpclx47x-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250910/202509101550.Bpclx47x-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/oe-kbuild-all/202509101550.Bpclx47x-lkp@intel.com/

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

>> drivers/i3c/master/sama7d65-i3c-hci-master.c:2478:35: error: initialization of 'int (*)(struct i2c_dev_desc *, struct i2c_msg *, int)' from incompatible pointer type 'int (*)(struct i2c_dev_desc *, const struct i2c_msg *, int)' [-Wincompatible-pointer-types]
    2478 |         .i2c_xfers              = mchp_i3c_hci_i2c_xfers,
         |                                   ^~~~~~~~~~~~~~~~~~~~~~
   drivers/i3c/master/sama7d65-i3c-hci-master.c:2478:35: note: (near initialization for 'mchp_i3c_hci_ops.i2c_xfers')
   drivers/i3c/master/sama7d65-i3c-hci-master.c:2283:12: note: 'mchp_i3c_hci_i2c_xfers' declared here
    2283 | static int mchp_i3c_hci_i2c_xfers(struct i2c_dev_desc *dev,
         |            ^~~~~~~~~~~~~~~~~~~~~~
   drivers/i3c/master/sama7d65-i3c-hci-master.c: In function 'mchp_i3c_hci_init':
>> drivers/i3c/master/sama7d65-i3c-hci-master.c:2517:30: warning: variable 'mode_selector' set but not used [-Wunused-but-set-variable]
    2517 |         bool size_in_dwords, mode_selector;
         |                              ^~~~~~~~~~~~~
   drivers/i3c/master/sama7d65-i3c-hci-master.c: At top level:
>> drivers/i3c/master/sama7d65-i3c-hci-master.c:2695:10: error: 'struct platform_driver' has no member named 'remove_new'; did you mean 'remove'?
    2695 |         .remove_new = mchp_i3c_hci_remove,
         |          ^~~~~~~~~~
         |          remove


vim +2478 drivers/i3c/master/sama7d65-i3c-hci-master.c

  2471	
  2472	static const struct i3c_master_controller_ops mchp_i3c_hci_ops = {
  2473		.bus_init		= mchp_i3c_hci_bus_init,
  2474		.bus_cleanup		= mchp_i3c_hci_bus_cleanup,
  2475		.do_daa			= mchp_i3c_hci_daa,
  2476		.send_ccc_cmd		= mchp_i3c_hci_send_ccc_cmd,
  2477		.priv_xfers		= mchp_i3c_hci_priv_xfers,
> 2478		.i2c_xfers		= mchp_i3c_hci_i2c_xfers,
  2479		.attach_i3c_dev		= mchp_i3c_hci_attach_i3c_dev,
  2480		.reattach_i3c_dev	= mchp_i3c_hci_reattach_i3c_dev,
  2481		.detach_i3c_dev		= mchp_i3c_hci_detach_i3c_dev,
  2482		.attach_i2c_dev		= mchp_i3c_hci_attach_i2c_dev,
  2483		.detach_i2c_dev		= mchp_i3c_hci_detach_i2c_dev,
  2484		.request_ibi		= mchp_i3c_hci_request_ibi,
  2485		.free_ibi		= mchp_i3c_hci_free_ibi,
  2486		.enable_ibi		= mchp_i3c_hci_enable_ibi,
  2487		.disable_ibi		= mchp_i3c_hci_disable_ibi,
  2488		.recycle_ibi_slot	= mchp_i3c_hci_recycle_ibi_slot,
  2489	};
  2490	
  2491	static irqreturn_t mchp_i3c_hci_irq_handler(int irq, void *dev_id)
  2492	{
  2493		struct mchp_i3c_hci *hci = dev_id;
  2494		irqreturn_t result = IRQ_NONE;
  2495		u32 val;
  2496	
  2497		val = reg_read(MCHP_INTR_STATUS);
  2498		dev_dbg(&hci->master.dev,"INTR_STATUS = %#x", val);
  2499	
  2500		if (val & MCHP_INTR_HC_INTERNAL_ERR) {
  2501			dev_err(&hci->master.dev, "Host Controller Internal Error\n");
  2502			val &= ~MCHP_INTR_HC_INTERNAL_ERR;
  2503		}
  2504			
  2505		hci->io->irq_handler(hci, 0);
  2506		
  2507		if (val)
  2508			dev_err(&hci->master.dev, "unexpected INTR_STATUS %#x\n", val);
  2509		else
  2510			result = IRQ_HANDLED;
  2511	
  2512		return result;
  2513	}
  2514	
  2515	static int mchp_i3c_hci_init(struct mchp_i3c_hci *hci)
  2516	{
> 2517		bool size_in_dwords, mode_selector;
  2518		u32 regval, offset;
  2519		int ret;
  2520	
  2521		/* Validate HCI hardware version */
  2522		regval = reg_read(MCHP_HCI_VERSION);
  2523		hci->version_major = (regval >> 8) & 0xf;
  2524		hci->version_minor = (regval >> 4) & 0xf;
  2525		hci->revision = regval & 0xf;
  2526		dev_notice(&hci->master.dev, "MIPI I3C HCI v%u.%u r%02u\n",
  2527			   hci->version_major, hci->version_minor, hci->revision);
  2528		/* known versions */
  2529		switch (regval & ~0xf) {
  2530		case 0x100:	/* version 1.0 */
  2531		case 0x110:	/* version 1.1 */
  2532		case 0x200:	/* version 2.0 */
  2533			break;
  2534		default:
  2535			dev_err(&hci->master.dev, "unsupported HCI version\n");
  2536			return -EPROTONOSUPPORT;
  2537		}
  2538	
  2539		hci->caps = reg_read(MCHP_HC_CAPABILITIES);
  2540		dev_dbg(&hci->master.dev,"caps = %#x", hci->caps);
  2541	
  2542		size_in_dwords = hci->version_major < 1 ||
  2543				 (hci->version_major == 1 && hci->version_minor < 1);
  2544	
  2545		regval = reg_read(MCHP_DAT_SECTION);
  2546		offset = FIELD_GET(MCHP_DAT_TABLE_OFFSET, regval);
  2547		hci->DAT_regs = offset ? hci->base_regs + offset : NULL;
  2548		hci->DAT_entries = FIELD_GET(MCHP_DAT_TABLE_SIZE, regval);
  2549		hci->DAT_entry_size = 8;
  2550		if (size_in_dwords)
  2551			hci->DAT_entries = 4 * hci->DAT_entries / hci->DAT_entry_size;
  2552		dev_info(&hci->master.dev, "DAT: %u %u-bytes entries at offset %#x\n",
  2553			 hci->DAT_entries, hci->DAT_entry_size, offset);
  2554	
  2555		regval = reg_read(MCHP_DCT_SECTION);
  2556		offset = FIELD_GET(MCHP_DCT_TABLE_OFFSET, regval);
  2557		hci->DCT_regs = offset ? hci->base_regs + offset : NULL;
  2558		hci->DCT_entries = FIELD_GET(MCHP_DCT_TABLE_SIZE, regval);
  2559		hci->DCT_entry_size = 16;
  2560		if (size_in_dwords)
  2561			hci->DCT_entries = 4 * hci->DCT_entries / hci->DCT_entry_size;
  2562		dev_info(&hci->master.dev, "DCT: %u %u-bytes entries at offset %#x\n",
  2563			 hci->DCT_entries, hci->DCT_entry_size, offset);
  2564	
  2565		regval = reg_read(MCHP_RING_HEADERS_SECTION);
  2566		offset = FIELD_GET(MCHP_RING_HEADERS_OFFSET, regval);
  2567		hci->RHS_regs = offset ? hci->base_regs + offset : NULL;
  2568		dev_info(&hci->master.dev, "Ring Headers at offset %#x\n", offset);
  2569	
  2570		regval = reg_read(MCHP_PIO_SECTION);
  2571		offset = FIELD_GET(MCHP_PIO_REGS_OFFSET, regval);
  2572		hci->PIO_regs = offset ? hci->base_regs + offset : NULL;
  2573		dev_info(&hci->master.dev, "PIO section at offset %#x\n", offset);
  2574	
  2575		regval = reg_read(MCHP_EXT_CAPS_SECTION);
  2576		offset = FIELD_GET(MCHP_EXT_CAPS_OFFSET, regval);
  2577		hci->EXTCAPS_regs = offset ? hci->base_regs + offset : NULL;
  2578		dev_info(&hci->master.dev, "Extended Caps at offset %#x\n", offset);
  2579	
  2580		ret = i3c_hci_parse_ext_caps(hci);
  2581		if (ret)
  2582			return ret;
  2583	
  2584		/*
  2585		 * Now let's reset the hardware.
  2586		 * SOFT_RST must be clear before we write to it.
  2587		 * Then we must wait until it clears again.
  2588		 */
  2589		ret = readx_poll_timeout(reg_read, MCHP_RESET_CONTROL, regval,
  2590					 !(regval & MCHP_SOFT_RST), 1, 10000);
  2591		if (ret)
  2592			return -ENXIO;
  2593		reg_write(MCHP_RESET_CONTROL, MCHP_SOFT_RST);
  2594		ret = readx_poll_timeout(reg_read, MCHP_RESET_CONTROL, regval,
  2595					 !(regval & MCHP_SOFT_RST), 1, 10000);
  2596		if (ret)
  2597			return -ENXIO;
  2598	
  2599		/* Disable all interrupts and allow all signal updates */
  2600		reg_write(MCHP_INTR_SIGNAL_ENABLE, 0x0);
  2601		reg_write(MCHP_INTR_STATUS_ENABLE, 0xffffffff);
  2602		
  2603		hci->cmd = &mchp_mipi_i3c_hci_cmd_v1;
  2604		mode_selector = hci->version_major > 1 ||
  2605					(hci->version_major == 1 && hci->version_minor > 0);
  2606	
  2607		/* Quirk for HCI_QUIRK_PIO_MODE on MICROCHIP platforms */
  2608		if (hci->quirks & MCHP_HCI_QUIRK_PIO_MODE) {
  2609				hci->RHS_regs = NULL;
  2610		}
  2611	
  2612		hci->io = &mchp_mipi_i3c_hci_pio;
  2613		dev_info(&hci->master.dev, "Using PIO\n");
  2614		
  2615		microchip_set_od_pp_timing(hci);
  2616	
  2617		return 0;
  2618	}
  2619	

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

-- 
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Durai Manickam KR <durai.manickamkr@microchip.com>,
	linux-i3c@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, alexandre.belloni@bootlin.com,
	Frank.Li@nxp.com, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, balamanikandan.gunasundar@microchip.com,
	nicolas.ferre@microchip.com
Cc: oe-kbuild-all@lists.linux.dev,
	Durai Manickam KR <durai.manickamkr@microchip.com>
Subject: Re: [PATCH 2/4] i3c: master: add Microchip SAMA7D65 I3C HCI master driver
Date: Wed, 10 Sep 2025 13:57:15 +0800	[thread overview]
Message-ID: <202509101550.Bpclx47x-lkp@intel.com> (raw)
In-Reply-To: <20250909111333.170016-3-durai.manickamkr@microchip.com>

Hi Durai,

kernel test robot noticed the following build errors:

[auto build test ERROR on clk/clk-next]
[also build test ERROR on robh/for-next linus/master v6.17-rc5 next-20250909]
[cannot apply to abelloni/rtc-next]
[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/Durai-Manickam-KR/clk-at91-sama7d65-add-peripheral-clock-for-I3C/20250909-192231
base:   https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
patch link:    https://lore.kernel.org/r/20250909111333.170016-3-durai.manickamkr%40microchip.com
patch subject: [PATCH 2/4] i3c: master: add Microchip SAMA7D65 I3C HCI master driver
config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20250910/202509101550.Bpclx47x-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250910/202509101550.Bpclx47x-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/oe-kbuild-all/202509101550.Bpclx47x-lkp@intel.com/

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

>> drivers/i3c/master/sama7d65-i3c-hci-master.c:2478:35: error: initialization of 'int (*)(struct i2c_dev_desc *, struct i2c_msg *, int)' from incompatible pointer type 'int (*)(struct i2c_dev_desc *, const struct i2c_msg *, int)' [-Wincompatible-pointer-types]
    2478 |         .i2c_xfers              = mchp_i3c_hci_i2c_xfers,
         |                                   ^~~~~~~~~~~~~~~~~~~~~~
   drivers/i3c/master/sama7d65-i3c-hci-master.c:2478:35: note: (near initialization for 'mchp_i3c_hci_ops.i2c_xfers')
   drivers/i3c/master/sama7d65-i3c-hci-master.c:2283:12: note: 'mchp_i3c_hci_i2c_xfers' declared here
    2283 | static int mchp_i3c_hci_i2c_xfers(struct i2c_dev_desc *dev,
         |            ^~~~~~~~~~~~~~~~~~~~~~
   drivers/i3c/master/sama7d65-i3c-hci-master.c: In function 'mchp_i3c_hci_init':
>> drivers/i3c/master/sama7d65-i3c-hci-master.c:2517:30: warning: variable 'mode_selector' set but not used [-Wunused-but-set-variable]
    2517 |         bool size_in_dwords, mode_selector;
         |                              ^~~~~~~~~~~~~
   drivers/i3c/master/sama7d65-i3c-hci-master.c: At top level:
>> drivers/i3c/master/sama7d65-i3c-hci-master.c:2695:10: error: 'struct platform_driver' has no member named 'remove_new'; did you mean 'remove'?
    2695 |         .remove_new = mchp_i3c_hci_remove,
         |          ^~~~~~~~~~
         |          remove


vim +2478 drivers/i3c/master/sama7d65-i3c-hci-master.c

  2471	
  2472	static const struct i3c_master_controller_ops mchp_i3c_hci_ops = {
  2473		.bus_init		= mchp_i3c_hci_bus_init,
  2474		.bus_cleanup		= mchp_i3c_hci_bus_cleanup,
  2475		.do_daa			= mchp_i3c_hci_daa,
  2476		.send_ccc_cmd		= mchp_i3c_hci_send_ccc_cmd,
  2477		.priv_xfers		= mchp_i3c_hci_priv_xfers,
> 2478		.i2c_xfers		= mchp_i3c_hci_i2c_xfers,
  2479		.attach_i3c_dev		= mchp_i3c_hci_attach_i3c_dev,
  2480		.reattach_i3c_dev	= mchp_i3c_hci_reattach_i3c_dev,
  2481		.detach_i3c_dev		= mchp_i3c_hci_detach_i3c_dev,
  2482		.attach_i2c_dev		= mchp_i3c_hci_attach_i2c_dev,
  2483		.detach_i2c_dev		= mchp_i3c_hci_detach_i2c_dev,
  2484		.request_ibi		= mchp_i3c_hci_request_ibi,
  2485		.free_ibi		= mchp_i3c_hci_free_ibi,
  2486		.enable_ibi		= mchp_i3c_hci_enable_ibi,
  2487		.disable_ibi		= mchp_i3c_hci_disable_ibi,
  2488		.recycle_ibi_slot	= mchp_i3c_hci_recycle_ibi_slot,
  2489	};
  2490	
  2491	static irqreturn_t mchp_i3c_hci_irq_handler(int irq, void *dev_id)
  2492	{
  2493		struct mchp_i3c_hci *hci = dev_id;
  2494		irqreturn_t result = IRQ_NONE;
  2495		u32 val;
  2496	
  2497		val = reg_read(MCHP_INTR_STATUS);
  2498		dev_dbg(&hci->master.dev,"INTR_STATUS = %#x", val);
  2499	
  2500		if (val & MCHP_INTR_HC_INTERNAL_ERR) {
  2501			dev_err(&hci->master.dev, "Host Controller Internal Error\n");
  2502			val &= ~MCHP_INTR_HC_INTERNAL_ERR;
  2503		}
  2504			
  2505		hci->io->irq_handler(hci, 0);
  2506		
  2507		if (val)
  2508			dev_err(&hci->master.dev, "unexpected INTR_STATUS %#x\n", val);
  2509		else
  2510			result = IRQ_HANDLED;
  2511	
  2512		return result;
  2513	}
  2514	
  2515	static int mchp_i3c_hci_init(struct mchp_i3c_hci *hci)
  2516	{
> 2517		bool size_in_dwords, mode_selector;
  2518		u32 regval, offset;
  2519		int ret;
  2520	
  2521		/* Validate HCI hardware version */
  2522		regval = reg_read(MCHP_HCI_VERSION);
  2523		hci->version_major = (regval >> 8) & 0xf;
  2524		hci->version_minor = (regval >> 4) & 0xf;
  2525		hci->revision = regval & 0xf;
  2526		dev_notice(&hci->master.dev, "MIPI I3C HCI v%u.%u r%02u\n",
  2527			   hci->version_major, hci->version_minor, hci->revision);
  2528		/* known versions */
  2529		switch (regval & ~0xf) {
  2530		case 0x100:	/* version 1.0 */
  2531		case 0x110:	/* version 1.1 */
  2532		case 0x200:	/* version 2.0 */
  2533			break;
  2534		default:
  2535			dev_err(&hci->master.dev, "unsupported HCI version\n");
  2536			return -EPROTONOSUPPORT;
  2537		}
  2538	
  2539		hci->caps = reg_read(MCHP_HC_CAPABILITIES);
  2540		dev_dbg(&hci->master.dev,"caps = %#x", hci->caps);
  2541	
  2542		size_in_dwords = hci->version_major < 1 ||
  2543				 (hci->version_major == 1 && hci->version_minor < 1);
  2544	
  2545		regval = reg_read(MCHP_DAT_SECTION);
  2546		offset = FIELD_GET(MCHP_DAT_TABLE_OFFSET, regval);
  2547		hci->DAT_regs = offset ? hci->base_regs + offset : NULL;
  2548		hci->DAT_entries = FIELD_GET(MCHP_DAT_TABLE_SIZE, regval);
  2549		hci->DAT_entry_size = 8;
  2550		if (size_in_dwords)
  2551			hci->DAT_entries = 4 * hci->DAT_entries / hci->DAT_entry_size;
  2552		dev_info(&hci->master.dev, "DAT: %u %u-bytes entries at offset %#x\n",
  2553			 hci->DAT_entries, hci->DAT_entry_size, offset);
  2554	
  2555		regval = reg_read(MCHP_DCT_SECTION);
  2556		offset = FIELD_GET(MCHP_DCT_TABLE_OFFSET, regval);
  2557		hci->DCT_regs = offset ? hci->base_regs + offset : NULL;
  2558		hci->DCT_entries = FIELD_GET(MCHP_DCT_TABLE_SIZE, regval);
  2559		hci->DCT_entry_size = 16;
  2560		if (size_in_dwords)
  2561			hci->DCT_entries = 4 * hci->DCT_entries / hci->DCT_entry_size;
  2562		dev_info(&hci->master.dev, "DCT: %u %u-bytes entries at offset %#x\n",
  2563			 hci->DCT_entries, hci->DCT_entry_size, offset);
  2564	
  2565		regval = reg_read(MCHP_RING_HEADERS_SECTION);
  2566		offset = FIELD_GET(MCHP_RING_HEADERS_OFFSET, regval);
  2567		hci->RHS_regs = offset ? hci->base_regs + offset : NULL;
  2568		dev_info(&hci->master.dev, "Ring Headers at offset %#x\n", offset);
  2569	
  2570		regval = reg_read(MCHP_PIO_SECTION);
  2571		offset = FIELD_GET(MCHP_PIO_REGS_OFFSET, regval);
  2572		hci->PIO_regs = offset ? hci->base_regs + offset : NULL;
  2573		dev_info(&hci->master.dev, "PIO section at offset %#x\n", offset);
  2574	
  2575		regval = reg_read(MCHP_EXT_CAPS_SECTION);
  2576		offset = FIELD_GET(MCHP_EXT_CAPS_OFFSET, regval);
  2577		hci->EXTCAPS_regs = offset ? hci->base_regs + offset : NULL;
  2578		dev_info(&hci->master.dev, "Extended Caps at offset %#x\n", offset);
  2579	
  2580		ret = i3c_hci_parse_ext_caps(hci);
  2581		if (ret)
  2582			return ret;
  2583	
  2584		/*
  2585		 * Now let's reset the hardware.
  2586		 * SOFT_RST must be clear before we write to it.
  2587		 * Then we must wait until it clears again.
  2588		 */
  2589		ret = readx_poll_timeout(reg_read, MCHP_RESET_CONTROL, regval,
  2590					 !(regval & MCHP_SOFT_RST), 1, 10000);
  2591		if (ret)
  2592			return -ENXIO;
  2593		reg_write(MCHP_RESET_CONTROL, MCHP_SOFT_RST);
  2594		ret = readx_poll_timeout(reg_read, MCHP_RESET_CONTROL, regval,
  2595					 !(regval & MCHP_SOFT_RST), 1, 10000);
  2596		if (ret)
  2597			return -ENXIO;
  2598	
  2599		/* Disable all interrupts and allow all signal updates */
  2600		reg_write(MCHP_INTR_SIGNAL_ENABLE, 0x0);
  2601		reg_write(MCHP_INTR_STATUS_ENABLE, 0xffffffff);
  2602		
  2603		hci->cmd = &mchp_mipi_i3c_hci_cmd_v1;
  2604		mode_selector = hci->version_major > 1 ||
  2605					(hci->version_major == 1 && hci->version_minor > 0);
  2606	
  2607		/* Quirk for HCI_QUIRK_PIO_MODE on MICROCHIP platforms */
  2608		if (hci->quirks & MCHP_HCI_QUIRK_PIO_MODE) {
  2609				hci->RHS_regs = NULL;
  2610		}
  2611	
  2612		hci->io = &mchp_mipi_i3c_hci_pio;
  2613		dev_info(&hci->master.dev, "Using PIO\n");
  2614		
  2615		microchip_set_od_pp_timing(hci);
  2616	
  2617		return 0;
  2618	}
  2619	

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

  parent reply	other threads:[~2025-09-10  5:57 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-09 11:13 [PATCH 0/4] Add Microchip I3C controller Durai Manickam KR
2025-09-09 11:13 ` Durai Manickam KR
2025-09-09 11:13 ` [PATCH 1/4] clk: at91: sama7d65: add peripheral clock for I3C Durai Manickam KR
2025-09-09 11:13   ` Durai Manickam KR
2025-09-09 11:19   ` Durai.ManickamKR
2025-09-09 11:19     ` Durai.ManickamKR
2025-09-09 11:13 ` [PATCH 2/4] i3c: master: add Microchip SAMA7D65 I3C HCI master driver Durai Manickam KR
2025-09-09 11:13   ` Durai Manickam KR
2025-09-09 21:18   ` Frank Li
2025-09-09 21:18     ` Frank Li
2025-09-10  6:12     ` Durai.ManickamKR
2025-09-10  6:12       ` Durai.ManickamKR
2025-09-10  6:53       ` Wolfram Sang
2025-09-10  6:53         ` Wolfram Sang
2025-09-10  9:01       ` Jarkko Nikula
2025-09-10  9:01         ` Jarkko Nikula
2025-09-18  6:40         ` Durai.ManickamKR
2025-09-18  6:40           ` Durai.ManickamKR
2025-09-10 16:16       ` Frank Li
2025-09-10 16:16         ` Frank Li
2025-09-10  5:57   ` kernel test robot [this message]
2025-09-10  5:57     ` kernel test robot
2025-09-10  6:19     ` Durai.ManickamKR
2025-09-10  6:19       ` Durai.ManickamKR
2025-09-09 11:13 ` [PATCH 3/4] ARM: configs: at91: sama7: Add SAMA7D65 I3C HCI master Durai Manickam KR
2025-09-09 11:13   ` Durai Manickam KR
2025-09-09 11:13 ` [PATCH 4/4] ARM: dts: microchip: add I3C controller Durai Manickam KR
2025-09-09 11:13   ` Durai Manickam KR
2025-09-09 19:46 ` [PATCH 0/4] Add Microchip " Conor Dooley
2025-09-09 19:46   ` Conor Dooley
2025-09-10  6:14   ` Durai.ManickamKR
2025-09-10  6:14     ` Durai.ManickamKR
2025-09-10 17:54     ` Conor Dooley
2025-09-10 17:54       ` Conor Dooley

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=202509101550.Bpclx47x-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Frank.Li@nxp.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=balamanikandan.gunasundar@microchip.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=durai.manickamkr@microchip.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=robh@kernel.org \
    /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.