Lines Matching refs:i2c_common

41 static int i2c_amd_dma_map(struct amd_i2c_common *i2c_common)
43 struct device *dev_pci = &i2c_common->mp2_dev->pci_dev->dev;
44 struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common);
46 i2c_common->msg->flags & I2C_M_RD ?
49 i2c_common->dma_buf = i2c_get_dma_safe_msg_buf(i2c_common->msg, 0);
50 i2c_common->dma_addr = dma_map_single(dev_pci, i2c_common->dma_buf,
51 i2c_common->msg->len,
54 if (unlikely(dma_mapping_error(dev_pci, i2c_common->dma_addr))) {
57 i2c_common->dma_buf);
64 static void i2c_amd_dma_unmap(struct amd_i2c_common *i2c_common)
66 struct device *dev_pci = &i2c_common->mp2_dev->pci_dev->dev;
68 i2c_common->msg->flags & I2C_M_RD ?
71 dma_unmap_single(dev_pci, i2c_common->dma_addr,
72 i2c_common->msg->len, dma_direction);
74 i2c_put_dma_safe_msg_buf(i2c_common->dma_buf, i2c_common->msg, true);
79 struct amd_i2c_common *i2c_common = &i2c_dev->common;
82 i2c_common->cmd_success = false;
85 static void i2c_amd_cmd_completion(struct amd_i2c_common *i2c_common)
87 struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common);
88 union i2c_event *event = &i2c_common->eventval;
93 i2c_common->msg->buf);
100 struct amd_i2c_common *i2c_common = &i2c_dev->common;
106 if ((i2c_common->reqcmd == i2c_read ||
107 i2c_common->reqcmd == i2c_write) &&
108 i2c_common->msg->len > 32)
109 i2c_amd_dma_unmap(i2c_common);
112 amd_mp2_rw_timeout(i2c_common);
116 amd_mp2_process_event(i2c_common);
118 if (!i2c_common->cmd_success)
126 struct amd_i2c_common *i2c_common = &i2c_dev->common;
129 amd_mp2_bus_enable_set(i2c_common, enable);
136 struct amd_i2c_common *i2c_common = &i2c_dev->common;
139 i2c_common->msg = pmsg;
142 if (i2c_amd_dma_map(i2c_common))
146 amd_mp2_rw(i2c_common, i2c_read);
148 amd_mp2_rw(i2c_common, i2c_write);
188 static int i2c_amd_suspend(struct amd_i2c_common *i2c_common)
190 struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common);
196 static int i2c_amd_resume(struct amd_i2c_common *i2c_common)
198 struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common);
339 struct amd_i2c_common *i2c_common = &i2c_dev->common;
344 amd_mp2_unregister_cb(i2c_common);
345 i2c_common->mp2_dev = NULL;