Lines Matching refs:i2c_common

41 static int i2c_amd_dma_map(struct amd_i2c_common *i2c_common)  in i2c_amd_dma_map()  argument
43 struct device *dev_pci = &i2c_common->mp2_dev->pci_dev->dev; in i2c_amd_dma_map()
44 struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common); in i2c_amd_dma_map()
46 i2c_common->msg->flags & I2C_M_RD ? in i2c_amd_dma_map()
49 i2c_common->dma_buf = i2c_get_dma_safe_msg_buf(i2c_common->msg, 0); in i2c_amd_dma_map()
50 i2c_common->dma_addr = dma_map_single(dev_pci, i2c_common->dma_buf, in i2c_amd_dma_map()
51 i2c_common->msg->len, in i2c_amd_dma_map()
54 if (unlikely(dma_mapping_error(dev_pci, i2c_common->dma_addr))) { in i2c_amd_dma_map()
57 i2c_common->dma_buf); in i2c_amd_dma_map()
64 static void i2c_amd_dma_unmap(struct amd_i2c_common *i2c_common) in i2c_amd_dma_unmap() argument
66 struct device *dev_pci = &i2c_common->mp2_dev->pci_dev->dev; in i2c_amd_dma_unmap()
68 i2c_common->msg->flags & I2C_M_RD ? in i2c_amd_dma_unmap()
71 dma_unmap_single(dev_pci, i2c_common->dma_addr, in i2c_amd_dma_unmap()
72 i2c_common->msg->len, dma_direction); in i2c_amd_dma_unmap()
74 i2c_put_dma_safe_msg_buf(i2c_common->dma_buf, i2c_common->msg, true); in i2c_amd_dma_unmap()
79 struct amd_i2c_common *i2c_common = &i2c_dev->common; in i2c_amd_start_cmd() local
82 i2c_common->cmd_success = false; in i2c_amd_start_cmd()
85 static void i2c_amd_cmd_completion(struct amd_i2c_common *i2c_common) in i2c_amd_cmd_completion() argument
87 struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common); in i2c_amd_cmd_completion()
88 union i2c_event *event = &i2c_common->eventval; in i2c_amd_cmd_completion()
92 i2c_common->msg->buf); in i2c_amd_cmd_completion()
99 struct amd_i2c_common *i2c_common = &i2c_dev->common; in i2c_amd_check_cmd_completion() local
105 if ((i2c_common->reqcmd == i2c_read || in i2c_amd_check_cmd_completion()
106 i2c_common->reqcmd == i2c_write) && in i2c_amd_check_cmd_completion()
107 i2c_common->msg->len > 32) in i2c_amd_check_cmd_completion()
108 i2c_amd_dma_unmap(i2c_common); in i2c_amd_check_cmd_completion()
111 amd_mp2_rw_timeout(i2c_common); in i2c_amd_check_cmd_completion()
115 amd_mp2_process_event(i2c_common); in i2c_amd_check_cmd_completion()
117 if (!i2c_common->cmd_success) in i2c_amd_check_cmd_completion()
125 struct amd_i2c_common *i2c_common = &i2c_dev->common; in i2c_amd_enable_set() local
128 amd_mp2_bus_enable_set(i2c_common, enable); in i2c_amd_enable_set()
135 struct amd_i2c_common *i2c_common = &i2c_dev->common; in i2c_amd_xfer_msg() local
138 i2c_common->msg = pmsg; in i2c_amd_xfer_msg()
141 if (i2c_amd_dma_map(i2c_common)) in i2c_amd_xfer_msg()
145 amd_mp2_rw(i2c_common, i2c_read); in i2c_amd_xfer_msg()
147 amd_mp2_rw(i2c_common, i2c_write); in i2c_amd_xfer_msg()
187 static int i2c_amd_suspend(struct amd_i2c_common *i2c_common) in i2c_amd_suspend() argument
189 struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common); in i2c_amd_suspend()
195 static int i2c_amd_resume(struct amd_i2c_common *i2c_common) in i2c_amd_resume() argument
197 struct amd_i2c_dev *i2c_dev = amd_i2c_dev_common(i2c_common); in i2c_amd_resume()
328 struct amd_i2c_common *i2c_common = &i2c_dev->common; in i2c_amd_remove() local
333 amd_mp2_unregister_cb(i2c_common); in i2c_amd_remove()
334 i2c_common->mp2_dev = NULL; in i2c_amd_remove()