Lines Matching refs:tcu

52 static void tegra_tcu_write_one(struct tegra_tcu *tcu, u32 value,  in tegra_tcu_write_one()  argument
59 mbox_send_message(tcu->tx, msg); in tegra_tcu_write_one()
60 mbox_flush(tcu->tx, 1000); in tegra_tcu_write_one()
63 static void tegra_tcu_write(struct tegra_tcu *tcu, const char *s, in tegra_tcu_write() argument
83 tegra_tcu_write_one(tcu, value, 3); in tegra_tcu_write()
89 tegra_tcu_write_one(tcu, value, written); in tegra_tcu_write()
94 struct tegra_tcu *tcu = port->private_data; in tegra_tcu_uart_start_tx() local
103 tegra_tcu_write(tcu, &xmit->buf[xmit->tail], count); in tegra_tcu_uart_start_tx()
150 struct tegra_tcu *tcu = container_of(cons, struct tegra_tcu, console); in tegra_tcu_console_write() local
152 tegra_tcu_write(tcu, s, count); in tegra_tcu_console_write()
163 struct tegra_tcu *tcu = container_of(cl, struct tegra_tcu, rx_client); in tegra_tcu_receive() local
164 struct tty_port *port = &tcu->port.state->port; in tegra_tcu_receive()
180 struct tegra_tcu *tcu; in tegra_tcu_probe() local
183 tcu = devm_kzalloc(&pdev->dev, sizeof(*tcu), GFP_KERNEL); in tegra_tcu_probe()
184 if (!tcu) in tegra_tcu_probe()
187 tcu->tx_client.dev = &pdev->dev; in tegra_tcu_probe()
188 tcu->rx_client.dev = &pdev->dev; in tegra_tcu_probe()
189 tcu->rx_client.rx_callback = tegra_tcu_receive; in tegra_tcu_probe()
191 tcu->tx = mbox_request_channel_byname(&tcu->tx_client, "tx"); in tegra_tcu_probe()
192 if (IS_ERR(tcu->tx)) { in tegra_tcu_probe()
193 err = PTR_ERR(tcu->tx); in tegra_tcu_probe()
200 strcpy(tcu->console.name, "ttyTCU"); in tegra_tcu_probe()
201 tcu->console.device = uart_console_device; in tegra_tcu_probe()
202 tcu->console.flags = CON_PRINTBUFFER | CON_ANYTIME; in tegra_tcu_probe()
203 tcu->console.index = -1; in tegra_tcu_probe()
204 tcu->console.write = tegra_tcu_console_write; in tegra_tcu_probe()
205 tcu->console.setup = tegra_tcu_console_setup; in tegra_tcu_probe()
206 tcu->console.data = &tcu->driver; in tegra_tcu_probe()
210 tcu->driver.owner = THIS_MODULE; in tegra_tcu_probe()
211 tcu->driver.driver_name = "tegra-tcu"; in tegra_tcu_probe()
212 tcu->driver.dev_name = "ttyTCU"; in tegra_tcu_probe()
214 tcu->driver.cons = &tcu->console; in tegra_tcu_probe()
216 tcu->driver.nr = 1; in tegra_tcu_probe()
218 err = uart_register_driver(&tcu->driver); in tegra_tcu_probe()
226 port = &tcu->port; in tegra_tcu_probe()
234 port->private_data = tcu; in tegra_tcu_probe()
236 err = uart_add_one_port(&tcu->driver, port); in tegra_tcu_probe()
246 tcu->rx = mbox_request_channel_byname(&tcu->rx_client, "rx"); in tegra_tcu_probe()
247 if (IS_ERR(tcu->rx)) { in tegra_tcu_probe()
248 err = PTR_ERR(tcu->rx); in tegra_tcu_probe()
253 platform_set_drvdata(pdev, tcu); in tegra_tcu_probe()
255 register_console(&tcu->console); in tegra_tcu_probe()
261 uart_remove_one_port(&tcu->driver, &tcu->port); in tegra_tcu_probe()
263 uart_unregister_driver(&tcu->driver); in tegra_tcu_probe()
265 mbox_free_channel(tcu->tx); in tegra_tcu_probe()
272 struct tegra_tcu *tcu = platform_get_drvdata(pdev); in tegra_tcu_remove() local
275 unregister_console(&tcu->console); in tegra_tcu_remove()
277 mbox_free_channel(tcu->rx); in tegra_tcu_remove()
278 uart_remove_one_port(&tcu->driver, &tcu->port); in tegra_tcu_remove()
279 uart_unregister_driver(&tcu->driver); in tegra_tcu_remove()
280 mbox_free_channel(tcu->tx); in tegra_tcu_remove()