-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto update to lts2023-ubuntu v6.6.36-240704T140504Z
Source of patches: beee4863d rebase update to v6.6.36 Signed-off-by: sys_oak <[email protected]>
- Loading branch information
Showing
3 changed files
with
51 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ | |
|
||
KVERSION=6 | ||
KPATCHLEVEL=6 | ||
KSUBLEVEL=35 | ||
KSUBLEVEL=36 | ||
KEXTRAVERSION= | ||
KRTV= | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33399,7 +33399,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
=================================================================== | ||
--- a/drivers/media/pci/intel/ipu-bridge.c | ||
+++ /dev/null | ||
@@ -1,816 +0,0 @@ | ||
@@ -1,844 +0,0 @@ | ||
-// SPDX-License-Identifier: GPL-2.0 | ||
-/* Author: Dan Scally <[email protected]> */ | ||
- | ||
|
@@ -33416,6 +33416,8 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
-#include <media/ipu-bridge.h> | ||
-#include <media/v4l2-fwnode.h> | ||
- | ||
-#define ADEV_DEV(adev) ACPI_PTR(&((adev)->dev)) | ||
- | ||
-/* | ||
- * 92335fcf-3203-4472-af93-7b4453ac29da | ||
- * | ||
|
@@ -33486,6 +33488,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- "lc898212axb", | ||
-}; | ||
- | ||
-#if IS_ENABLED(CONFIG_ACPI) | ||
-/* | ||
- * Used to figure out IVSC acpi device by ipu_bridge_get_ivsc_acpi_dev() | ||
- * instead of device and driver match to probe IVSC device. | ||
|
@@ -33499,13 +33502,13 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- | ||
-static struct acpi_device *ipu_bridge_get_ivsc_acpi_dev(struct acpi_device *adev) | ||
-{ | ||
- acpi_handle handle = acpi_device_handle(adev); | ||
- struct acpi_device *consumer, *ivsc_adev; | ||
- unsigned int i; | ||
- | ||
- for (i = 0; i < ARRAY_SIZE(ivsc_acpi_ids); i++) { | ||
- const struct acpi_device_id *acpi_id = &ivsc_acpi_ids[i]; | ||
- struct acpi_device *consumer, *ivsc_adev; | ||
- | ||
- acpi_handle handle = acpi_device_handle(adev); | ||
- for_each_acpi_dev_match(ivsc_adev, acpi_id->id, NULL, -1) | ||
- /* camera sensor depends on IVSC in DSDT if exist */ | ||
- for_each_acpi_consumer_dev(ivsc_adev, consumer) | ||
|
@@ -33517,6 +33520,12 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- | ||
- return NULL; | ||
-} | ||
-#else | ||
-static struct acpi_device *ipu_bridge_get_ivsc_acpi_dev(struct acpi_device *adev) | ||
-{ | ||
- return NULL; | ||
-} | ||
-#endif | ||
- | ||
-static int ipu_bridge_match_ivsc_dev(struct device *dev, const void *adev) | ||
-{ | ||
|
@@ -33562,7 +33571,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- csi_dev = ipu_bridge_get_ivsc_csi_dev(adev); | ||
- if (!csi_dev) { | ||
- acpi_dev_put(adev); | ||
- dev_err(&adev->dev, "Failed to find MEI CSI dev\n"); | ||
- dev_err(ADEV_DEV(adev), "Failed to find MEI CSI dev\n"); | ||
- return -ENODEV; | ||
- } | ||
- | ||
|
@@ -33581,24 +33590,25 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- acpi_status status; | ||
- int ret = 0; | ||
- | ||
- status = acpi_evaluate_object(adev->handle, id, NULL, &buffer); | ||
- status = acpi_evaluate_object(ACPI_PTR(adev->handle), | ||
- id, NULL, &buffer); | ||
- if (ACPI_FAILURE(status)) | ||
- return -ENODEV; | ||
- | ||
- obj = buffer.pointer; | ||
- if (!obj) { | ||
- dev_err(&adev->dev, "Couldn't locate ACPI buffer\n"); | ||
- dev_err(ADEV_DEV(adev), "Couldn't locate ACPI buffer\n"); | ||
- return -ENODEV; | ||
- } | ||
- | ||
- if (obj->type != ACPI_TYPE_BUFFER) { | ||
- dev_err(&adev->dev, "Not an ACPI buffer\n"); | ||
- dev_err(ADEV_DEV(adev), "Not an ACPI buffer\n"); | ||
- ret = -ENODEV; | ||
- goto out_free_buff; | ||
- } | ||
- | ||
- if (obj->buffer.length > size) { | ||
- dev_err(&adev->dev, "Given buffer is too small\n"); | ||
- dev_err(ADEV_DEV(adev), "Given buffer is too small\n"); | ||
- ret = -EINVAL; | ||
- goto out_free_buff; | ||
- } | ||
|
@@ -33619,7 +33629,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- case IPU_SENSOR_ROTATION_INVERTED: | ||
- return 180; | ||
- default: | ||
- dev_warn(&adev->dev, | ||
- dev_warn(ADEV_DEV(adev), | ||
- "Unknown rotation %d. Assume 0 degree rotation\n", | ||
- ssdb->degree); | ||
- return 0; | ||
|
@@ -33629,12 +33639,14 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
-static enum v4l2_fwnode_orientation ipu_bridge_parse_orientation(struct acpi_device *adev) | ||
-{ | ||
- enum v4l2_fwnode_orientation orientation; | ||
- struct acpi_pld_info *pld; | ||
- acpi_status status; | ||
- struct acpi_pld_info *pld = NULL; | ||
- acpi_status status = AE_ERROR; | ||
- | ||
-#if IS_ENABLED(CONFIG_ACPI) | ||
- status = acpi_get_physical_device_location(adev->handle, &pld); | ||
-#endif | ||
- if (ACPI_FAILURE(status)) { | ||
- dev_warn(&adev->dev, "_PLD call failed, using default orientation\n"); | ||
- dev_warn(ADEV_DEV(adev), "_PLD call failed, using default orientation\n"); | ||
- return V4L2_FWNODE_ORIENTATION_EXTERNAL; | ||
- } | ||
- | ||
|
@@ -33652,7 +33664,8 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- orientation = V4L2_FWNODE_ORIENTATION_EXTERNAL; | ||
- break; | ||
- default: | ||
- dev_warn(&adev->dev, "Unknown _PLD panel val %d\n", pld->panel); | ||
- dev_warn(ADEV_DEV(adev), "Unknown _PLD panel val %d\n", | ||
- pld->panel); | ||
- orientation = V4L2_FWNODE_ORIENTATION_EXTERNAL; | ||
- break; | ||
- } | ||
|
@@ -33671,12 +33684,12 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- return ret; | ||
- | ||
- if (ssdb.vcmtype > ARRAY_SIZE(ipu_vcm_types)) { | ||
- dev_warn(&adev->dev, "Unknown VCM type %d\n", ssdb.vcmtype); | ||
- dev_warn(ADEV_DEV(adev), "Unknown VCM type %d\n", ssdb.vcmtype); | ||
- ssdb.vcmtype = 0; | ||
- } | ||
- | ||
- if (ssdb.lanes > IPU_MAX_LANES) { | ||
- dev_err(&adev->dev, "Number of lanes in SSDB is invalid\n"); | ||
- dev_err(ADEV_DEV(adev), "Number of lanes in SSDB is invalid\n"); | ||
- return -EINVAL; | ||
- } | ||
- | ||
|
@@ -33864,8 +33877,14 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- sensor->ipu_properties); | ||
- | ||
- if (sensor->csi_dev) { | ||
- const char *device_hid = ""; | ||
- | ||
-#if IS_ENABLED(CONFIG_ACPI) | ||
- device_hid = acpi_device_hid(sensor->ivsc_adev); | ||
-#endif | ||
- | ||
- snprintf(sensor->ivsc_name, sizeof(sensor->ivsc_name), "%s-%u", | ||
- acpi_device_hid(sensor->ivsc_adev), sensor->link); | ||
- device_hid, sensor->link); | ||
- | ||
- nodes[SWNODE_IVSC_HID] = NODE_SENSOR(sensor->ivsc_name, | ||
- sensor->ivsc_properties); | ||
|
@@ -34030,11 +34049,15 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
-{ | ||
- struct fwnode_handle *fwnode, *primary; | ||
- struct ipu_sensor *sensor; | ||
- struct acpi_device *adev; | ||
- struct acpi_device *adev = NULL; | ||
- int ret; | ||
- | ||
-#if IS_ENABLED(CONFIG_ACPI) | ||
- for_each_acpi_dev_match(adev, cfg->hid, NULL, -1) { | ||
- if (!adev->status.enabled) | ||
-#else | ||
- while (true) { | ||
-#endif | ||
- if (!ACPI_PTR(adev->status.enabled)) | ||
- continue; | ||
- | ||
- if (bridge->n_sensors >= IPU_MAX_PORTS) { | ||
|
@@ -34070,7 +34093,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- goto err_free_swnodes; | ||
- } | ||
- | ||
- sensor->adev = acpi_dev_get(adev); | ||
- sensor->adev = ACPI_PTR(acpi_dev_get(adev)); | ||
- | ||
- primary = acpi_fwnode_handle(adev); | ||
- primary->secondary = fwnode; | ||
|
@@ -34126,11 +34149,16 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c | |
- unsigned int i; | ||
- | ||
- for (i = 0; i < ARRAY_SIZE(ipu_supported_sensors); i++) { | ||
-#if IS_ENABLED(CONFIG_ACPI) | ||
- const struct ipu_sensor_config *cfg = | ||
- &ipu_supported_sensors[i]; | ||
- | ||
- for_each_acpi_dev_match(sensor_adev, cfg->hid, NULL, -1) { | ||
- if (!sensor_adev->status.enabled) | ||
-#else | ||
- while (true) { | ||
- sensor_adev = NULL; | ||
-#endif | ||
- if (!ACPI_PTR(sensor_adev->status.enabled)) | ||
- continue; | ||
- | ||
- adev = ipu_bridge_get_ivsc_acpi_dev(sensor_adev); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters