From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: linux-acpi@vger.kernel.org
Cc: linux-media@vger.kernel.org, rafael@kernel.org,
andriy.shevchenko@linux.intel.com,
heikki.krogerus@linux.intel.com
Subject: [PATCH v3 0/8] ACPI _CRS CSI-2 and MIPI DisCo for Imaging support
Date: Thu, 26 Jan 2023 00:40:53 +0200 [thread overview]
Message-ID: <20230125224101.401285-1-sakari.ailus@linux.intel.com> (raw)
Hello all,
Here's an implementation of ACPI 6.4 _CRS CSI-2 resource descriptor and
MIPI DisCo for Imaging 1.0 [1]. What the two basically provide is an
officially sanctioned way to describe CSI-2 connected cameras to operating
system software, something DT based systems have enjoyed for quite some
time already.
The implementation digs the information from ACPI tables (_CRS descriptors
and data + property extensions) and constructs software nodes that are
compatible with Documentation/firmware-guide/acpi/dsd/graph.rst and
Documentation/devicetree/bindings/media/video-interface-devices.yaml . No
specific driver changes are needed.
These patches are on the testing branch of the linux-acpi tree where they
depend on the patch constifying the ACPI pathname argument for
acpi_get_handle() (commit 91fdb91ccca2b48572a1ccf1d382fd599e3e1237).
[1] https://www.mipi.org/specifications/mipi-disco-imaging
since v2:
- Unwrap a few lines.
- Copy CSI-2 resource source string using strscpy() instead of memcpy() in
scan_check_crs_csi2_instance.
- Fix GRAPH_PORT_NAME() sanity check bug introduced in v2.
- Fix snprintf() return value check for port node name in
get_mipi_port_handle().
- Fix mipi-img-lane-polarities reading.
- Cast bit value to bool instead of using ... ? 1U : 0U.
- Get primary fwnode using acpi_fwnode_handle().
- Don't use MIPI_IMG_PREFIX in the array of renamed properties.
- Use tabs for indenting drivers/acpi/property.c authors.
- Add a comment on assigning ACPI device's secondary fwnode and assign
ACPI device's secondary fwnode straight to NULL when unassigning it.
since v1:
- Update copyright notices.
- Include linux/types.h instead of linux/kernel.h in drivers/acpi/mipi.c.
- Use SWNODE_GRAPH_PORT_NAME_FMT instead of plain "port@%u" in
GRAPH_PORT_NAME macro.
- Make the condition in NEXT_PROPERTY() macro easier to read.
- Unwrap lines to make them moderately longer than 80 characters.
- Use * BITS_PER_TYPE(u8) instead of << 3 to convert bytes to bits in
init_port_csi2_common().
- Test ACPI framework call success using ACPI_SUCCESS() instead of
comparing with AE_OK. Likewise for ACPI_FAILURE and != AE_OK.
- Use newly added SOFTWARE_NODE() macro to construct the root software
node.
- Use str_has_prefix() to test for a string prefix instead of memcmp().
- Add pr_fmt() macro to drivers/acpi/property.c.
- Move logical or operators to the end of the line in
acpi_properties_prepare().
- Improve bad node type error in acpi_parse_string_ref().
Sakari Ailus (8):
ACPI: property: Parse data node string references in properties
ACPI: property: Parse _CRS CSI-2 descriptor
device property: Add SOFTWARE_NODE() macro for defining software nodes
ACPI: property: Generate camera swnodes for ACPI and DisCo for Imaging
ACPI: property: Dig "rotation" property for devices with CSI2 _CRS
ACPI: property: Rename parsed MIPI DisCo for Imaging properties
ACPI: property: Skip MIPI property table without "mipi-img" prefix
ACPI: property: Document _CRS CSI-2 and DisCo for Imaging support
drivers/acpi/Makefile | 2 +-
drivers/acpi/internal.h | 9 +
drivers/acpi/mipi.c | 768 +++++++++++++++++++++++++++++++++++++++
drivers/acpi/property.c | 132 +++++--
drivers/acpi/scan.c | 35 +-
include/acpi/acpi_bus.h | 61 ++++
include/linux/property.h | 7 +
7 files changed, 983 insertions(+), 31 deletions(-)
create mode 100644 drivers/acpi/mipi.c
--
2.30.2
next reply other threads:[~2023-01-25 22:41 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-25 22:40 Sakari Ailus [this message]
2023-01-25 22:40 ` [PATCH v3 1/8] ACPI: property: Parse data node string references in properties Sakari Ailus
2023-01-27 9:57 ` Andy Shevchenko
2023-01-30 18:21 ` Rafael J. Wysocki
2023-01-30 21:34 ` Andy Shevchenko
2023-01-25 22:40 ` [PATCH v3 2/8] ACPI: property: Parse _CRS CSI-2 descriptor Sakari Ailus
2023-01-27 10:08 ` Andy Shevchenko
2023-01-30 21:18 ` Sakari Ailus
2023-01-30 21:37 ` Andy Shevchenko
2023-01-30 21:45 ` Sakari Ailus
2023-02-02 19:57 ` Rafael J. Wysocki
2023-02-02 20:57 ` Sakari Ailus
2023-01-25 22:40 ` [PATCH v3 3/8] device property: Add SOFTWARE_NODE() macro for defining software nodes Sakari Ailus
2023-01-25 22:40 ` [PATCH v3 4/8] ACPI: property: Generate camera swnodes for ACPI and DisCo for Imaging Sakari Ailus
2023-01-27 10:35 ` Andy Shevchenko
2023-01-27 10:35 ` Andy Shevchenko
2023-01-30 21:22 ` Sakari Ailus
2023-01-30 21:39 ` Andy Shevchenko
2023-01-30 21:46 ` Sakari Ailus
2023-01-25 22:40 ` [PATCH v3 5/8] ACPI: property: Dig "rotation" property for devices with CSI2 _CRS Sakari Ailus
2023-01-25 22:40 ` [PATCH v3 6/8] ACPI: property: Rename parsed MIPI DisCo for Imaging properties Sakari Ailus
2023-01-25 22:41 ` [PATCH v3 7/8] ACPI: property: Skip MIPI property table without "mipi-img" prefix Sakari Ailus
2023-01-25 22:41 ` [PATCH v3 8/8] ACPI: property: Document _CRS CSI-2 and DisCo for Imaging support Sakari Ailus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230125224101.401285-1-sakari.ailus@linux.intel.com \
--to=sakari.ailus@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=heikki.krogerus@linux.intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.