Hi, On Sun, Oct 17, 2021, at 14:02, Alyssa Rosenzweig wrote: >> Apple SoCs such as the M1 come with various co-processors. Mailboxes >> are used to communicate with those. This driver adds support for >> two variants of those mailboxes. >> >> Reviewed-by: Alyssa Rosenzweig <alyssa@xxxxxxxxxxxxx> >> Signed-off-by: Sven Peter <sven@xxxxxxxxxxxxx> > > In the future, Reviewed-by tags should be dropped after making major > changes to a patch. I don't think there were any major changes since v2, but sure, I'll drop your tag in the future. All your comments below already apply to v2. > >> + writel_relaxed(apple_mbox->hw->irq_bit_recv_not_empty | >> + apple_mbox->hw->irq_bit_send_empty, >> + apple_mbox->regs + apple_mbox->hw->irq_enable); > > Nit: weird wrapping, much easier to read as: > > + writel_relaxed(apple_mbox->hw->irq_bit_recv_not_empty | > + apple_mbox->hw->irq_bit_send_empty, > + apple_mbox->regs + apple_mbox->hw->irq_enable); > This is just what clang-format does and I'd rather keep it this way. Note that the first two lines are the first argument combined with an OR. >> +static const struct apple_mbox_hw apple_mbox_asc_hw = { >> + .control_full = APPLE_ASC_MBOX_CONTROL_FULL, >> + .control_empty = APPLE_ASC_MBOX_CONTROL_EMPTY, >> + >> + .a2i_control = APPLE_ASC_MBOX_A2I_CONTROL, >> + .a2i_send0 = APPLE_ASC_MBOX_A2I_SEND0, >> + .a2i_send1 = APPLE_ASC_MBOX_A2I_SEND1, >> + >> + .i2a_control = APPLE_ASC_MBOX_I2A_CONTROL, >> + .i2a_recv0 = APPLE_ASC_MBOX_I2A_RECV0, >> + .i2a_recv1 = APPLE_ASC_MBOX_I2A_RECV1, >> + >> + .has_irq_controls = false, >> +}; > > Nit: consider dropping the `has_irq_controls = false` assignment. > Clearly there are none, or you'd have to fill out the irq_* fields too. I'd rather keep it explicit as false here to make the intent clear. > >> +static const struct of_device_id apple_mbox_of_match[] = { >> + { .compatible = "apple,t8103-asc-mailbox", .data = &apple_mbox_asc_hw }, >> + { .compatible = "apple,t8103-m3-mailbox", .data = &apple_mbox_m3_hw }, >> + {} >> +}; > > No generic compatibles? I assume this driver hasn't changed much in > recent iPhones, and hopefully it won't change much in M1X... Then we can always have apple,tXXX-asc-mailbox, apple,t8103-asc-mailbox in the device tree. From what I can tell this specific mailbox has only appeared in this SoC generation. > >> +/* SPDX-License-Identifier: GPL-2.0-only OR MIT */ >> +/* >> + * Apple mailbox message format >> + * >> + * Copyright (C) 2021 The Asahi Linux Contributors >> + */ >> + >> +#ifndef _LINUX_APPLE_MAILBOX_H_ >> +#define _LINUX_APPLE_MAILBOX_H_ >> + >> +#include <linux/types.h> >> + >> +struct apple_mbox_msg { >> + u64 msg0; >> + u32 msg1; >> +}; >> + >> +#endif > > Given this file lacks the context of the driver, and the questions > raised in v2 review, it might be beneficial to add a quick comment to > apple_mbox_msg explaiing that no, really, this is a 96-bit message. I don't think that's necessary but it doesn't hurt either I guess. Sven