Lines Matching refs:tdev

47 	struct mbox_test_device *tdev = filp->private_data;  in mbox_test_signal_write()  local
50 if (!tdev->tx_channel) { in mbox_test_signal_write()
51 dev_err(tdev->dev, "Channel cannot do Tx\n"); in mbox_test_signal_write()
56 dev_err(tdev->dev, in mbox_test_signal_write()
62 tdev->signal = kzalloc(MBOX_MAX_SIG_LEN, GFP_KERNEL); in mbox_test_signal_write()
63 if (!tdev->signal) in mbox_test_signal_write()
66 ret = copy_from_user(tdev->signal, userbuf, count); in mbox_test_signal_write()
68 kfree(tdev->signal); in mbox_test_signal_write()
85 struct mbox_test_device *tdev = filp->private_data; in mbox_test_message_write() local
89 if (!tdev->tx_channel) { in mbox_test_message_write()
90 dev_err(tdev->dev, "Channel cannot do Tx\n"); in mbox_test_message_write()
95 dev_err(tdev->dev, in mbox_test_message_write()
101 tdev->message = kzalloc(MBOX_MAX_MSG_LEN, GFP_KERNEL); in mbox_test_message_write()
102 if (!tdev->message) in mbox_test_message_write()
105 ret = copy_from_user(tdev->message, userbuf, count); in mbox_test_message_write()
115 if (tdev->mmio && tdev->signal) { in mbox_test_message_write()
117 MBOX_BYTES_PER_LINE, 1, tdev->signal, MBOX_MAX_SIG_LEN, true); in mbox_test_message_write()
119 data = tdev->signal; in mbox_test_message_write()
121 data = tdev->message; in mbox_test_message_write()
124 MBOX_BYTES_PER_LINE, 1, tdev->message, MBOX_MAX_MSG_LEN, true); in mbox_test_message_write()
126 ret = mbox_send_message(tdev->tx_channel, data); in mbox_test_message_write()
128 dev_err(tdev->dev, "Failed to send message via mailbox\n"); in mbox_test_message_write()
131 kfree(tdev->signal); in mbox_test_message_write()
132 kfree(tdev->message); in mbox_test_message_write()
140 struct mbox_test_device *tdev = filp->private_data; in mbox_test_message_read() local
150 if (!tdev->rx_channel) { in mbox_test_message_read()
157 if (tdev->rx_buffer[0] == '\0') { in mbox_test_message_read()
164 spin_lock_irqsave(&tdev->lock, flags); in mbox_test_message_read()
166 ptr = tdev->rx_buffer; in mbox_test_message_read()
179 memset(tdev->rx_buffer, 0, MBOX_MAX_MSG_LEN); in mbox_test_message_read()
181 spin_unlock_irqrestore(&tdev->lock, flags); in mbox_test_message_read()
197 struct mbox_test_device *tdev) in mbox_test_add_debugfs() argument
209 tdev, &mbox_test_message_ops); in mbox_test_add_debugfs()
212 tdev, &mbox_test_signal_ops); in mbox_test_add_debugfs()
219 struct mbox_test_device *tdev = dev_get_drvdata(client->dev); in mbox_test_receive_message() local
222 spin_lock_irqsave(&tdev->lock, flags); in mbox_test_receive_message()
223 if (tdev->mmio) { in mbox_test_receive_message()
224 memcpy_fromio(tdev->rx_buffer, tdev->mmio, MBOX_MAX_MSG_LEN); in mbox_test_receive_message()
227 tdev->rx_buffer, MBOX_MAX_MSG_LEN, true); in mbox_test_receive_message()
232 memcpy(tdev->rx_buffer, message, MBOX_MAX_MSG_LEN); in mbox_test_receive_message()
234 spin_unlock_irqrestore(&tdev->lock, flags); in mbox_test_receive_message()
239 struct mbox_test_device *tdev = dev_get_drvdata(client->dev); in mbox_test_prepare_message() local
241 if (tdev->mmio) { in mbox_test_prepare_message()
242 if (tdev->signal) in mbox_test_prepare_message()
243 memcpy_toio(tdev->mmio, tdev->message, MBOX_MAX_MSG_LEN); in mbox_test_prepare_message()
245 memcpy_toio(tdev->mmio, message, MBOX_MAX_MSG_LEN); in mbox_test_prepare_message()
289 struct mbox_test_device *tdev; in mbox_test_probe() local
293 tdev = devm_kzalloc(&pdev->dev, sizeof(*tdev), GFP_KERNEL); in mbox_test_probe()
294 if (!tdev) in mbox_test_probe()
299 tdev->mmio = devm_ioremap_resource(&pdev->dev, res); in mbox_test_probe()
300 if (IS_ERR(tdev->mmio)) in mbox_test_probe()
301 tdev->mmio = NULL; in mbox_test_probe()
303 tdev->tx_channel = mbox_test_request_channel(pdev, "tx"); in mbox_test_probe()
304 tdev->rx_channel = mbox_test_request_channel(pdev, "rx"); in mbox_test_probe()
306 if (!tdev->tx_channel && !tdev->rx_channel) in mbox_test_probe()
309 tdev->dev = &pdev->dev; in mbox_test_probe()
310 platform_set_drvdata(pdev, tdev); in mbox_test_probe()
312 spin_lock_init(&tdev->lock); in mbox_test_probe()
314 if (tdev->rx_channel) { in mbox_test_probe()
315 tdev->rx_buffer = devm_kzalloc(&pdev->dev, in mbox_test_probe()
317 if (!tdev->rx_buffer) in mbox_test_probe()
321 ret = mbox_test_add_debugfs(pdev, tdev); in mbox_test_probe()
332 struct mbox_test_device *tdev = platform_get_drvdata(pdev); in mbox_test_remove() local
336 if (tdev->tx_channel) in mbox_test_remove()
337 mbox_free_channel(tdev->tx_channel); in mbox_test_remove()
338 if (tdev->rx_channel) in mbox_test_remove()
339 mbox_free_channel(tdev->rx_channel); in mbox_test_remove()