Commit 34396bdf authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'i3c/fixes-for-5.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux

Pill i3c fixes from Boris Brezillon:

 - fix the random PID check

 - fix the disable controller logic in the designware driver

 - fix I3C entry in MAINTAINERS

* tag 'i3c/fixes-for-5.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
  MAINTAINERS: Fix the I3C entry
  i3c: dw: Fix dw_i3c_master_disable controller by using correct mask
  i3c: Fix the verification of random PID
parents 4b609f1e 709a53e1
...@@ -7333,7 +7333,6 @@ F: Documentation/devicetree/bindings/i3c/ ...@@ -7333,7 +7333,6 @@ F: Documentation/devicetree/bindings/i3c/
F: Documentation/driver-api/i3c F: Documentation/driver-api/i3c
F: drivers/i3c/ F: drivers/i3c/
F: include/linux/i3c/ F: include/linux/i3c/
F: include/dt-bindings/i3c/
I3C DRIVER FOR SYNOPSYS DESIGNWARE I3C DRIVER FOR SYNOPSYS DESIGNWARE
M: Vitor Soares <vitor.soares@synopsys.com> M: Vitor Soares <vitor.soares@synopsys.com>
......
...@@ -1980,7 +1980,6 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master, ...@@ -1980,7 +1980,6 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master,
{ {
struct i3c_dev_boardinfo *boardinfo; struct i3c_dev_boardinfo *boardinfo;
struct device *dev = &master->dev; struct device *dev = &master->dev;
struct i3c_device_info info = { };
enum i3c_addr_slot_status addrstatus; enum i3c_addr_slot_status addrstatus;
u32 init_dyn_addr = 0; u32 init_dyn_addr = 0;
...@@ -2012,8 +2011,8 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master, ...@@ -2012,8 +2011,8 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master,
boardinfo->pid = ((u64)reg[1] << 32) | reg[2]; boardinfo->pid = ((u64)reg[1] << 32) | reg[2];
if ((info.pid & GENMASK_ULL(63, 48)) || if ((boardinfo->pid & GENMASK_ULL(63, 48)) ||
I3C_PID_RND_LOWER_32BITS(info.pid)) I3C_PID_RND_LOWER_32BITS(boardinfo->pid))
return -EINVAL; return -EINVAL;
boardinfo->init_dyn_addr = init_dyn_addr; boardinfo->init_dyn_addr = init_dyn_addr;
......
...@@ -300,7 +300,7 @@ to_dw_i3c_master(struct i3c_master_controller *master) ...@@ -300,7 +300,7 @@ to_dw_i3c_master(struct i3c_master_controller *master)
static void dw_i3c_master_disable(struct dw_i3c_master *master) static void dw_i3c_master_disable(struct dw_i3c_master *master)
{ {
writel(readl(master->regs + DEVICE_CTRL) & DEV_CTRL_ENABLE, writel(readl(master->regs + DEVICE_CTRL) & ~DEV_CTRL_ENABLE,
master->regs + DEVICE_CTRL); master->regs + DEVICE_CTRL);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment