From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A419841A908 for ; Tue, 14 Jul 2026 22:24:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784067875; cv=none; b=npMzJvaJ92BG8cZIFD8rbzmcIfXHKYsTP2jp8Ayh+ikMcgam9vpzRpWyHp0wE26ETr10Bf34K4ofD5D3ZXRLA1hJrssh8pJ7kR+fC0J5g1OtikwW3qQ3JA2+DpJIdTRWNnj8vnfUEcagT2QNuC2lRewkpAXBdhvbHeZR5YhkTwc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784067875; c=relaxed/simple; bh=FN81vVRYQfdR/TDhA7SCFC6uiazv8rfChXbSb5+/SD4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=CViuFMT3VCaAq4wfQZjGuj3BkgZRE/xyTH7XfzgTiayuc9OIsyg04Z1NAoBM2kNtwpYRDiH59+dt9swh4yyDOtjdEs/pW1iImhM/7NHgu350C/9oZ/0j9gQ4l3bDtYoJtPWkHTcMIlmp8np4Y2rghp9lGkRcIW93xHOC5EyJUfQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=MAsO/U7h; arc=none smtp.client-ip=209.85.216.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="MAsO/U7h" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-388b404ea89so1405994a91.0 for ; Tue, 14 Jul 2026 15:24:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1784067873; x=1784672673; darn=vger.kernel.org; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=9tetAXGJGm6WY4YSFyXOkWGhCtbJ9Cx/UiZBqb92zmI=; b=MAsO/U7hlK3pr1eklYh49v5qavE1Go/V2C5iBLyGjtj2ZpGCFWp9VCZ5g+TAupXE9E ImbuYpS4Nq7etk8+rmMDgIjy7RiowFa6SKZCBBCtNvsNpjCcF/Icr15Dh9LIub7Rqt80 okEDFaNWGW097XDE+qXr56qMhTItQjYej8mMo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784067873; x=1784672673; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=9tetAXGJGm6WY4YSFyXOkWGhCtbJ9Cx/UiZBqb92zmI=; b=XE59x2/PWDFTO+YzdnhymvnpSJdSIjFiOvo3o0uD3NBYZKzQeFowNfdmaVSX0Ge1j/ BgOXSB/yvj2BriWyESi7I0ySHMJgTX65Pd1bAwhTTWlOEsMgpqNyjXoE53o0bgYFT3dC ypMm/PB3FMC3TqaMumWp7Fmj8O0LpP6qA12aPGQtx0CfZzL+sY7DmEIVOkgmPu8Umtxe I0LaOHGM+BvbGMpRACH7oIWl+03BCs4LXuyACsuaCcNQ3Z8nf5hXzhsDgGIC4HLDSNoS MJ0UtTseH9zO8tQm12qEwYlcru5vt9hjgZ70H8V3FCKigx0sH9dR+cZLjZaiF6uNpFt6 x2KQ== X-Forwarded-Encrypted: i=1; AHgh+RoOOv5vout0OKOe6QY3Hw36lWWjkRIi5/4GYyLRu3+vf+lfo3FN3IZZdeLD3YaKwRzwPc+GkxkZkTKG8u4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz3cu6rVrHF9WjkAaY4Iq4F3YgdGxVoV23sqrZELPKvjEM6nPeQ aogpfjYYTFAM+WsyR9YLP9+7goyw5CMg1AlFDcMr2x8sUWSQr/oGLT1rEW4ijBWyRQ== X-Gm-Gg: AfdE7clWI1zMW7nfNLqDp7wPkbYbwJCqBBQsWb84G88V4Oj8cS5h0wnnDA74UjITTA5 guIWJV+I+Di7msc50tVLelxqmTMAQ47WSQQuV8QIAZlVJHep4/u1US1riX1Kxr1rsZYJ3tMryc2 L9hBINTKsiQJ4+bGkbeWaevXuXDjpIJCItamQD36Q648krdzDrS3JbLS3p6p51am2NFVY0x3VQb nn6hy1qLyI9G2jwO4viGOsAZBidYv+p2mIGqM2sE1I7oQR3U6Y6wwOPUvsVuRDapNAaeITPm18v EyBv4WJlgk7rIMyGGYNffvKXNe9DIKETrZZrdSrrSRhAIUiNIUdBtZMZp25MkhocO4kWww1zGVb XYTqJ7i0NreT8LEnmOiUdEmUvlyhCvJF6wkx7g3H32SGS1N6zaAvZrVrdMQMPEmrbI0KmVIMilC 9++CpZXuCeceAcuKCjK8bPrZyKTX3hcyJ4uIGfkLwrf3Ay59pZtexCfr4mXnFmeZuaeXbtag== X-Received: by 2002:a17:90b:4f:b0:369:7491:7b24 with SMTP id 98e67ed59e1d1-38d13f5fb5dmr21455803a91.6.1784067873033; Tue, 14 Jul 2026 15:24:33 -0700 (PDT) Received: from dianders.sjc.corp.google.com ([2a00:79e0:2e7c:8:32cb:eed4:7c:dc87]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31189cd8234sm76540741eec.9.2026.07.14.15.24.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2026 15:24:31 -0700 (PDT) From: Douglas Anderson To: Jassi Brar Cc: Joonwon Kang , Subhash Jadavani , Tudor Ambarus , Lucas Wei , Brian Norris , Peter Griffin , =?UTF-8?q?Andr=C3=A9=20Draszik?= , Douglas Anderson , Conor Dooley , Krzysztof Kozlowski , Rob Herring , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org Subject: [PATCH 0/7] mailbox: Improve the mbox core then introduce the goog-mba driver Date: Tue, 14 Jul 2026 15:21:39 -0700 Message-ID: <20260714222338.2965707-1-dianders@chromium.org> X-Mailer: git-send-email 2.55.0.141.g00534a21ce-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The goal of this series is to land support for the goog-mba (MailBox Array) IP block that's present in Pixel 10 phones. As can be seen in the device-tree bindings for the goog-mba IP block, the mailbox IP block in Pixel 10 phones is fairly sophisticated. Notably: * It has hardware features that support queuing, meaning that more than one mailbox message can be pending at a time. * The "channels" in a given mailbox array aren't homogeneous. Each "channel" in the mailbox array can have a different amount of memory for messages. Really, the "channels" in a mailbox are considered to be full single-channel mailboxes and a grouping of mailboxes is considered a "mailbox array" (hence the IP block being named "mba") In order to cleanly support some of the sophisticated goog-mba features, improvements are made to the mailbox core. Specifically, support for mailbox controllers that can queue is added and also support for mailbox drivers that have more than one sub-node is added. This is a fairly big rewrite from the downstream MBA driver shipping on Pixel 10 phones, which awkwardly makes due without the improvements to the mailbox core. It has been lightly tested both by porting it to an experimental downstream tree based on 7.1 and also by running it directly upstream against a stripped down Pixel 10 device tree. Douglas Anderson (7): dt-bindings: mailbox: Don't require #mbox-cells to be 1 mailbox: Allow #mbox-cells = <0> without specifying a custom xlate mailbox: Find a matching mailbox by fwnode rather than device mailbox: Simplify circular queue math with mod arithmetic mailbox: Add support for mailbox controllers that can queue dt-bindings: mailbox: goog-mba: Add goog-mba mailbox bindings mailbox: goog-mba: Introduce the goog-mba mailbox driver .../bindings/mailbox/google,mba.yaml | 216 +++++++ .../devicetree/bindings/mailbox/mailbox.txt | 6 +- MAINTAINERS | 8 + drivers/mailbox/Kconfig | 8 + drivers/mailbox/Makefile | 2 + drivers/mailbox/goog-mba-priv.h | 108 ++++ drivers/mailbox/goog-mba-trace.h | 183 ++++++ drivers/mailbox/goog-mba.c | 567 ++++++++++++++++++ drivers/mailbox/mailbox.c | 84 ++- include/linux/mailbox/goog-mba-message.h | 38 ++ include/linux/mailbox_controller.h | 15 +- 11 files changed, 1209 insertions(+), 26 deletions(-) create mode 100644 Documentation/devicetree/bindings/mailbox/google,mba.yaml create mode 100644 drivers/mailbox/goog-mba-priv.h create mode 100644 drivers/mailbox/goog-mba-trace.h create mode 100644 drivers/mailbox/goog-mba.c create mode 100644 include/linux/mailbox/goog-mba-message.h -- 2.55.0.141.g00534a21ce-goog