[intel-ipu6-kmod/f37] Support for 6.6 kernel
by smallorange
commit 2cf77bb7522434aa7b40b14617427c6536ef35f3
Author: Kate Hsuan <hpa(a)redhat.com>
Date: Thu Aug 31 14:19:59 2023 +0800
Support for 6.6 kernel
Signed-off-by: Kate Hsuan <hpa(a)redhat.com>
0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch | 207 +++++++++++++++++++++
intel-ipu6-kmod.spec | 7 +-
2 files changed, 213 insertions(+), 1 deletion(-)
---
diff --git a/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch b/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
new file mode 100644
index 0000000..9f448f8
--- /dev/null
+++ b/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
@@ -0,0 +1,207 @@
+From 931ceecc44e2aec6e703cc1ecd1a281114678756 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede(a)redhat.com>
+Date: Mon, 28 Aug 2023 17:05:16 +0200
+Subject: [PATCH] ipu6: Fix compilation with kernels >= 6.6.0
+
+Kernel 6.6 has made some significant changes to how v4l2-async
+(sub)dev registration works. Adjust the code accordingly.
+
+Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
+---
+ drivers/media/pci/intel/ipu-isys.c | 78 +++++++++++++++++++-
+ drivers/media/pci/intel/ipu6/ipu6-isys-phy.c | 14 +++-
+ include/media/ipu-isys.h | 5 ++
+ 3 files changed, 94 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/media/pci/intel/ipu-isys.c b/drivers/media/pci/intel/ipu-isys.c
+index 5cab1bb1b68c..de68e3a381e8 100644
+--- a/drivers/media/pci/intel/ipu-isys.c
++++ b/drivers/media/pci/intel/ipu-isys.c
+@@ -725,7 +725,11 @@ static int isys_iwake_watermark_cleanup(struct ipu_isys *isys)
+ /* The .bound() notifier callback when a match is found */
+ static int isys_notifier_bound(struct v4l2_async_notifier *notifier,
+ struct v4l2_subdev *sd,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev *asd)
++#else
++ struct v4l2_async_connection *asd)
++#endif
+ {
+ struct ipu_isys *isys = container_of(notifier,
+ struct ipu_isys, notifier);
+@@ -741,7 +745,11 @@ static int isys_notifier_bound(struct v4l2_async_notifier *notifier,
+
+ static void isys_notifier_unbind(struct v4l2_async_notifier *notifier,
+ struct v4l2_subdev *sd,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev *asd)
++#else
++ struct v4l2_async_connection *asd)
++#endif
+ {
+ struct ipu_isys *isys = container_of(notifier,
+ struct ipu_isys, notifier);
+@@ -765,6 +773,7 @@ static const struct v4l2_async_notifier_operations isys_async_ops = {
+ .complete = isys_notifier_complete,
+ };
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ static int isys_fwnode_parse(struct device *dev,
+ struct v4l2_fwnode_endpoint *vep,
+ struct v4l2_async_subdev *asd)
+@@ -777,6 +786,7 @@ static int isys_fwnode_parse(struct device *dev,
+
+ return 0;
+ }
++#endif
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) && LINUX_VERSION_CODE != KERNEL_VERSION(5, 15, 71)
+ static int isys_notifier_init(struct ipu_isys *isys)
+@@ -819,7 +829,7 @@ static void isys_notifier_cleanup(struct ipu_isys *isys)
+ v4l2_async_notifier_unregister(&isys->notifier);
+ v4l2_async_notifier_cleanup(&isys->notifier);
+ }
+-#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ static int isys_notifier_init(struct ipu_isys *isys)
+ {
+ struct ipu_device *isp = isys->adev->isp;
+@@ -852,7 +862,73 @@ static int isys_notifier_init(struct ipu_isys *isys)
+
+ return ret;
+ }
++#else
++static int isys_notifier_init(struct ipu_isys *isys)
++{
++ const struct ipu_isys_internal_csi2_pdata *csi2 =
++ &isys->pdata->ipdata->csi2;
++ struct ipu_device *isp = isys->adev->isp;
++ struct device *dev = &isp->pdev->dev;
++ unsigned int i;
++ int ret;
++
++ v4l2_async_nf_init(&isys->notifier, &isys->v4l2_dev);
++
++ for (i = 0; i < csi2->nports; i++) {
++ struct v4l2_fwnode_endpoint vep = {
++ .bus_type = V4L2_MBUS_CSI2_DPHY
++ };
++ struct sensor_async_subdev *s_asd;
++ struct fwnode_handle *ep;
++
++ ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), i, 0,
++ FWNODE_GRAPH_ENDPOINT_NEXT);
++ if (!ep)
++ continue;
++
++ ret = v4l2_fwnode_endpoint_parse(ep, &vep);
++ if (ret)
++ goto err_parse;
++
++ s_asd = v4l2_async_nf_add_fwnode_remote(&isys->notifier, ep,
++ struct
++ sensor_async_subdev);
++ if (IS_ERR(s_asd)) {
++ ret = PTR_ERR(s_asd);
++ goto err_parse;
++ }
++
++ s_asd->csi2.port = vep.base.port;
++ s_asd->csi2.nlanes = vep.bus.mipi_csi2.num_data_lanes;
++
++ fwnode_handle_put(ep);
++
++ continue;
++
++err_parse:
++ fwnode_handle_put(ep);
++ return ret;
++ }
++
++ if (list_empty(&isys->notifier.waiting_list)) {
++ /* isys probe could continue with async subdevs missing */
++ dev_warn(&isys->adev->dev, "no subdev found in graph\n");
++ return 0;
++ }
++
++ isys->notifier.ops = &isys_async_ops;
++ ret = v4l2_async_nf_register(&isys->notifier);
++ if (ret) {
++ dev_err(&isys->adev->dev,
++ "failed to register async notifier : %d\n", ret);
++ v4l2_async_nf_cleanup(&isys->notifier);
++ }
++
++ return ret;
++}
++#endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0) || LINUX_VERSION_CODE == KERNEL_VERSION(5, 15, 71)
+ static void isys_notifier_cleanup(struct ipu_isys *isys)
+ {
+ v4l2_async_nf_unregister(&isys->notifier);
+diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c b/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
+index c26780106c78..d2f4f74b67ee 100644
+--- a/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
++++ b/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
+@@ -504,11 +504,16 @@ int ipu6_isys_phy_common_init(struct ipu_isys *isys)
+ struct ipu_bus_device *adev = to_ipu_bus_device(&isys->adev->dev);
+ struct ipu_device *isp = adev->isp;
+ void __iomem *isp_base = isp->base;
+- struct v4l2_async_subdev *asd;
+ struct sensor_async_subdev *s_asd;
+ unsigned int i;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
++ struct v4l2_async_subdev *asd;
+ list_for_each_entry(asd, &isys->notifier.asd_list, asd_list) {
++#else
++ struct v4l2_async_connection *asd;
++ list_for_each_entry(asd, &isys->notifier.done_list, asc_entry) {
++#endif
+ s_asd = container_of(asd, struct sensor_async_subdev, asd);
+ phy_id = s_asd->csi2.port / 4;
+ phy_base = isp_base + IPU6_ISYS_PHY_BASE(phy_id);
+@@ -562,12 +567,17 @@ int ipu6_isys_phy_config(struct ipu_isys *isys)
+ struct ipu_device *isp = adev->isp;
+ void __iomem *isp_base = isp->base;
+ const struct phy_reg **phy_config_regs;
+- struct v4l2_async_subdev *asd;
+ struct sensor_async_subdev *s_asd;
+ struct ipu_isys_csi2_config cfg;
+ int i;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
++ struct v4l2_async_subdev *asd;
+ list_for_each_entry(asd, &isys->notifier.asd_list, asd_list) {
++#else
++ struct v4l2_async_connection *asd;
++ list_for_each_entry(asd, &isys->notifier.done_list, asc_entry) {
++#endif
+ s_asd = container_of(asd, struct sensor_async_subdev, asd);
+ cfg.port = s_asd->csi2.port;
+ cfg.nlanes = s_asd->csi2.nlanes;
+diff --git a/include/media/ipu-isys.h b/include/media/ipu-isys.h
+index b75febf80fc2..0b0caab1b10f 100644
+--- a/include/media/ipu-isys.h
++++ b/include/media/ipu-isys.h
+@@ -6,6 +6,7 @@
+
+ #include <linux/i2c.h>
+ #include <linux/clkdev.h>
++#include <linux/version.h>
+ #include <media/v4l2-async.h>
+
+ #define IPU_ISYS_MAX_CSI2_LANES 4
+@@ -37,7 +38,11 @@ struct ipu_isys_subdev_pdata {
+ };
+
+ struct sensor_async_subdev {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev asd;
++#else
++ struct v4l2_async_connection asd;
++#endif
+ struct ipu_isys_csi2_config csi2;
+ };
+
diff --git a/intel-ipu6-kmod.spec b/intel-ipu6-kmod.spec
index faa0ef8..2ec2cf3 100644
--- a/intel-ipu6-kmod.spec
+++ b/intel-ipu6-kmod.spec
@@ -16,7 +16,7 @@
Name: %{prjname}-kmod
Summary: Kernel module (kmod) for %{prjname}
Version: 0.0
-Release: 6.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
+Release: 7.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
License: GPLv2+
URL: https://github.com/intel
@@ -26,6 +26,7 @@ Source1: %{url}/ipu6-drivers/archive/%{ipu6_commit}/ipu6-drivers-%{ipu6_s
# Patches
Patch10: 0001-ipu-psys-Fix-compilation-with-kernels-6.5.0.patch
+Patch11: 0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
BuildRequires: gcc
BuildRequires: elfutils-libelf-devel
@@ -53,6 +54,7 @@ kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{prjname} %{?buil
%setup -q -c -a 1
(cd ipu6-drivers-%{ipu6_commit}
%patch10 -p1
+%patch11 -p1
)
cp -Rp ivsc-driver-%{ivsc_commit}/backport-include ipu6-drivers-%{ipu6_commit}/
@@ -98,6 +100,9 @@ done
%changelog
+* Thu Aug 31 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-7.20230622git8e41080
+- Support for 6.6 kernel
+
* Tue Aug 29 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-6.20230622git8e41080
- Support for 6.5 kernel
1 year, 2 months
[intel-ipu6-kmod/f38] Support for 6.6 kernel
by smallorange
commit 4beb7a1fc2901383e7b28f38f1dddc29f75204d1
Author: Kate Hsuan <hpa(a)redhat.com>
Date: Thu Aug 31 14:19:59 2023 +0800
Support for 6.6 kernel
Signed-off-by: Kate Hsuan <hpa(a)redhat.com>
0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch | 207 +++++++++++++++++++++
intel-ipu6-kmod.spec | 7 +-
2 files changed, 213 insertions(+), 1 deletion(-)
---
diff --git a/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch b/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
new file mode 100644
index 0000000..9f448f8
--- /dev/null
+++ b/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
@@ -0,0 +1,207 @@
+From 931ceecc44e2aec6e703cc1ecd1a281114678756 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede(a)redhat.com>
+Date: Mon, 28 Aug 2023 17:05:16 +0200
+Subject: [PATCH] ipu6: Fix compilation with kernels >= 6.6.0
+
+Kernel 6.6 has made some significant changes to how v4l2-async
+(sub)dev registration works. Adjust the code accordingly.
+
+Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
+---
+ drivers/media/pci/intel/ipu-isys.c | 78 +++++++++++++++++++-
+ drivers/media/pci/intel/ipu6/ipu6-isys-phy.c | 14 +++-
+ include/media/ipu-isys.h | 5 ++
+ 3 files changed, 94 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/media/pci/intel/ipu-isys.c b/drivers/media/pci/intel/ipu-isys.c
+index 5cab1bb1b68c..de68e3a381e8 100644
+--- a/drivers/media/pci/intel/ipu-isys.c
++++ b/drivers/media/pci/intel/ipu-isys.c
+@@ -725,7 +725,11 @@ static int isys_iwake_watermark_cleanup(struct ipu_isys *isys)
+ /* The .bound() notifier callback when a match is found */
+ static int isys_notifier_bound(struct v4l2_async_notifier *notifier,
+ struct v4l2_subdev *sd,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev *asd)
++#else
++ struct v4l2_async_connection *asd)
++#endif
+ {
+ struct ipu_isys *isys = container_of(notifier,
+ struct ipu_isys, notifier);
+@@ -741,7 +745,11 @@ static int isys_notifier_bound(struct v4l2_async_notifier *notifier,
+
+ static void isys_notifier_unbind(struct v4l2_async_notifier *notifier,
+ struct v4l2_subdev *sd,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev *asd)
++#else
++ struct v4l2_async_connection *asd)
++#endif
+ {
+ struct ipu_isys *isys = container_of(notifier,
+ struct ipu_isys, notifier);
+@@ -765,6 +773,7 @@ static const struct v4l2_async_notifier_operations isys_async_ops = {
+ .complete = isys_notifier_complete,
+ };
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ static int isys_fwnode_parse(struct device *dev,
+ struct v4l2_fwnode_endpoint *vep,
+ struct v4l2_async_subdev *asd)
+@@ -777,6 +786,7 @@ static int isys_fwnode_parse(struct device *dev,
+
+ return 0;
+ }
++#endif
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) && LINUX_VERSION_CODE != KERNEL_VERSION(5, 15, 71)
+ static int isys_notifier_init(struct ipu_isys *isys)
+@@ -819,7 +829,7 @@ static void isys_notifier_cleanup(struct ipu_isys *isys)
+ v4l2_async_notifier_unregister(&isys->notifier);
+ v4l2_async_notifier_cleanup(&isys->notifier);
+ }
+-#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ static int isys_notifier_init(struct ipu_isys *isys)
+ {
+ struct ipu_device *isp = isys->adev->isp;
+@@ -852,7 +862,73 @@ static int isys_notifier_init(struct ipu_isys *isys)
+
+ return ret;
+ }
++#else
++static int isys_notifier_init(struct ipu_isys *isys)
++{
++ const struct ipu_isys_internal_csi2_pdata *csi2 =
++ &isys->pdata->ipdata->csi2;
++ struct ipu_device *isp = isys->adev->isp;
++ struct device *dev = &isp->pdev->dev;
++ unsigned int i;
++ int ret;
++
++ v4l2_async_nf_init(&isys->notifier, &isys->v4l2_dev);
++
++ for (i = 0; i < csi2->nports; i++) {
++ struct v4l2_fwnode_endpoint vep = {
++ .bus_type = V4L2_MBUS_CSI2_DPHY
++ };
++ struct sensor_async_subdev *s_asd;
++ struct fwnode_handle *ep;
++
++ ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), i, 0,
++ FWNODE_GRAPH_ENDPOINT_NEXT);
++ if (!ep)
++ continue;
++
++ ret = v4l2_fwnode_endpoint_parse(ep, &vep);
++ if (ret)
++ goto err_parse;
++
++ s_asd = v4l2_async_nf_add_fwnode_remote(&isys->notifier, ep,
++ struct
++ sensor_async_subdev);
++ if (IS_ERR(s_asd)) {
++ ret = PTR_ERR(s_asd);
++ goto err_parse;
++ }
++
++ s_asd->csi2.port = vep.base.port;
++ s_asd->csi2.nlanes = vep.bus.mipi_csi2.num_data_lanes;
++
++ fwnode_handle_put(ep);
++
++ continue;
++
++err_parse:
++ fwnode_handle_put(ep);
++ return ret;
++ }
++
++ if (list_empty(&isys->notifier.waiting_list)) {
++ /* isys probe could continue with async subdevs missing */
++ dev_warn(&isys->adev->dev, "no subdev found in graph\n");
++ return 0;
++ }
++
++ isys->notifier.ops = &isys_async_ops;
++ ret = v4l2_async_nf_register(&isys->notifier);
++ if (ret) {
++ dev_err(&isys->adev->dev,
++ "failed to register async notifier : %d\n", ret);
++ v4l2_async_nf_cleanup(&isys->notifier);
++ }
++
++ return ret;
++}
++#endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0) || LINUX_VERSION_CODE == KERNEL_VERSION(5, 15, 71)
+ static void isys_notifier_cleanup(struct ipu_isys *isys)
+ {
+ v4l2_async_nf_unregister(&isys->notifier);
+diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c b/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
+index c26780106c78..d2f4f74b67ee 100644
+--- a/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
++++ b/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
+@@ -504,11 +504,16 @@ int ipu6_isys_phy_common_init(struct ipu_isys *isys)
+ struct ipu_bus_device *adev = to_ipu_bus_device(&isys->adev->dev);
+ struct ipu_device *isp = adev->isp;
+ void __iomem *isp_base = isp->base;
+- struct v4l2_async_subdev *asd;
+ struct sensor_async_subdev *s_asd;
+ unsigned int i;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
++ struct v4l2_async_subdev *asd;
+ list_for_each_entry(asd, &isys->notifier.asd_list, asd_list) {
++#else
++ struct v4l2_async_connection *asd;
++ list_for_each_entry(asd, &isys->notifier.done_list, asc_entry) {
++#endif
+ s_asd = container_of(asd, struct sensor_async_subdev, asd);
+ phy_id = s_asd->csi2.port / 4;
+ phy_base = isp_base + IPU6_ISYS_PHY_BASE(phy_id);
+@@ -562,12 +567,17 @@ int ipu6_isys_phy_config(struct ipu_isys *isys)
+ struct ipu_device *isp = adev->isp;
+ void __iomem *isp_base = isp->base;
+ const struct phy_reg **phy_config_regs;
+- struct v4l2_async_subdev *asd;
+ struct sensor_async_subdev *s_asd;
+ struct ipu_isys_csi2_config cfg;
+ int i;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
++ struct v4l2_async_subdev *asd;
+ list_for_each_entry(asd, &isys->notifier.asd_list, asd_list) {
++#else
++ struct v4l2_async_connection *asd;
++ list_for_each_entry(asd, &isys->notifier.done_list, asc_entry) {
++#endif
+ s_asd = container_of(asd, struct sensor_async_subdev, asd);
+ cfg.port = s_asd->csi2.port;
+ cfg.nlanes = s_asd->csi2.nlanes;
+diff --git a/include/media/ipu-isys.h b/include/media/ipu-isys.h
+index b75febf80fc2..0b0caab1b10f 100644
+--- a/include/media/ipu-isys.h
++++ b/include/media/ipu-isys.h
+@@ -6,6 +6,7 @@
+
+ #include <linux/i2c.h>
+ #include <linux/clkdev.h>
++#include <linux/version.h>
+ #include <media/v4l2-async.h>
+
+ #define IPU_ISYS_MAX_CSI2_LANES 4
+@@ -37,7 +38,11 @@ struct ipu_isys_subdev_pdata {
+ };
+
+ struct sensor_async_subdev {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev asd;
++#else
++ struct v4l2_async_connection asd;
++#endif
+ struct ipu_isys_csi2_config csi2;
+ };
+
diff --git a/intel-ipu6-kmod.spec b/intel-ipu6-kmod.spec
index faa0ef8..2ec2cf3 100644
--- a/intel-ipu6-kmod.spec
+++ b/intel-ipu6-kmod.spec
@@ -16,7 +16,7 @@
Name: %{prjname}-kmod
Summary: Kernel module (kmod) for %{prjname}
Version: 0.0
-Release: 6.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
+Release: 7.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
License: GPLv2+
URL: https://github.com/intel
@@ -26,6 +26,7 @@ Source1: %{url}/ipu6-drivers/archive/%{ipu6_commit}/ipu6-drivers-%{ipu6_s
# Patches
Patch10: 0001-ipu-psys-Fix-compilation-with-kernels-6.5.0.patch
+Patch11: 0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
BuildRequires: gcc
BuildRequires: elfutils-libelf-devel
@@ -53,6 +54,7 @@ kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{prjname} %{?buil
%setup -q -c -a 1
(cd ipu6-drivers-%{ipu6_commit}
%patch10 -p1
+%patch11 -p1
)
cp -Rp ivsc-driver-%{ivsc_commit}/backport-include ipu6-drivers-%{ipu6_commit}/
@@ -98,6 +100,9 @@ done
%changelog
+* Thu Aug 31 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-7.20230622git8e41080
+- Support for 6.6 kernel
+
* Tue Aug 29 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-6.20230622git8e41080
- Support for 6.5 kernel
1 year, 2 months
[intel-ipu6-kmod/f39] Support for 6.6 kernel
by smallorange
commit 5744b2d9abc02dcefcb8012a901654e958ddf680
Author: Kate Hsuan <hpa(a)redhat.com>
Date: Thu Aug 31 14:19:59 2023 +0800
Support for 6.6 kernel
Signed-off-by: Kate Hsuan <hpa(a)redhat.com>
0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch | 207 +++++++++++++++++++++
intel-ipu6-kmod.spec | 7 +-
2 files changed, 213 insertions(+), 1 deletion(-)
---
diff --git a/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch b/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
new file mode 100644
index 0000000..9f448f8
--- /dev/null
+++ b/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
@@ -0,0 +1,207 @@
+From 931ceecc44e2aec6e703cc1ecd1a281114678756 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede(a)redhat.com>
+Date: Mon, 28 Aug 2023 17:05:16 +0200
+Subject: [PATCH] ipu6: Fix compilation with kernels >= 6.6.0
+
+Kernel 6.6 has made some significant changes to how v4l2-async
+(sub)dev registration works. Adjust the code accordingly.
+
+Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
+---
+ drivers/media/pci/intel/ipu-isys.c | 78 +++++++++++++++++++-
+ drivers/media/pci/intel/ipu6/ipu6-isys-phy.c | 14 +++-
+ include/media/ipu-isys.h | 5 ++
+ 3 files changed, 94 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/media/pci/intel/ipu-isys.c b/drivers/media/pci/intel/ipu-isys.c
+index 5cab1bb1b68c..de68e3a381e8 100644
+--- a/drivers/media/pci/intel/ipu-isys.c
++++ b/drivers/media/pci/intel/ipu-isys.c
+@@ -725,7 +725,11 @@ static int isys_iwake_watermark_cleanup(struct ipu_isys *isys)
+ /* The .bound() notifier callback when a match is found */
+ static int isys_notifier_bound(struct v4l2_async_notifier *notifier,
+ struct v4l2_subdev *sd,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev *asd)
++#else
++ struct v4l2_async_connection *asd)
++#endif
+ {
+ struct ipu_isys *isys = container_of(notifier,
+ struct ipu_isys, notifier);
+@@ -741,7 +745,11 @@ static int isys_notifier_bound(struct v4l2_async_notifier *notifier,
+
+ static void isys_notifier_unbind(struct v4l2_async_notifier *notifier,
+ struct v4l2_subdev *sd,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev *asd)
++#else
++ struct v4l2_async_connection *asd)
++#endif
+ {
+ struct ipu_isys *isys = container_of(notifier,
+ struct ipu_isys, notifier);
+@@ -765,6 +773,7 @@ static const struct v4l2_async_notifier_operations isys_async_ops = {
+ .complete = isys_notifier_complete,
+ };
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ static int isys_fwnode_parse(struct device *dev,
+ struct v4l2_fwnode_endpoint *vep,
+ struct v4l2_async_subdev *asd)
+@@ -777,6 +786,7 @@ static int isys_fwnode_parse(struct device *dev,
+
+ return 0;
+ }
++#endif
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) && LINUX_VERSION_CODE != KERNEL_VERSION(5, 15, 71)
+ static int isys_notifier_init(struct ipu_isys *isys)
+@@ -819,7 +829,7 @@ static void isys_notifier_cleanup(struct ipu_isys *isys)
+ v4l2_async_notifier_unregister(&isys->notifier);
+ v4l2_async_notifier_cleanup(&isys->notifier);
+ }
+-#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ static int isys_notifier_init(struct ipu_isys *isys)
+ {
+ struct ipu_device *isp = isys->adev->isp;
+@@ -852,7 +862,73 @@ static int isys_notifier_init(struct ipu_isys *isys)
+
+ return ret;
+ }
++#else
++static int isys_notifier_init(struct ipu_isys *isys)
++{
++ const struct ipu_isys_internal_csi2_pdata *csi2 =
++ &isys->pdata->ipdata->csi2;
++ struct ipu_device *isp = isys->adev->isp;
++ struct device *dev = &isp->pdev->dev;
++ unsigned int i;
++ int ret;
++
++ v4l2_async_nf_init(&isys->notifier, &isys->v4l2_dev);
++
++ for (i = 0; i < csi2->nports; i++) {
++ struct v4l2_fwnode_endpoint vep = {
++ .bus_type = V4L2_MBUS_CSI2_DPHY
++ };
++ struct sensor_async_subdev *s_asd;
++ struct fwnode_handle *ep;
++
++ ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), i, 0,
++ FWNODE_GRAPH_ENDPOINT_NEXT);
++ if (!ep)
++ continue;
++
++ ret = v4l2_fwnode_endpoint_parse(ep, &vep);
++ if (ret)
++ goto err_parse;
++
++ s_asd = v4l2_async_nf_add_fwnode_remote(&isys->notifier, ep,
++ struct
++ sensor_async_subdev);
++ if (IS_ERR(s_asd)) {
++ ret = PTR_ERR(s_asd);
++ goto err_parse;
++ }
++
++ s_asd->csi2.port = vep.base.port;
++ s_asd->csi2.nlanes = vep.bus.mipi_csi2.num_data_lanes;
++
++ fwnode_handle_put(ep);
++
++ continue;
++
++err_parse:
++ fwnode_handle_put(ep);
++ return ret;
++ }
++
++ if (list_empty(&isys->notifier.waiting_list)) {
++ /* isys probe could continue with async subdevs missing */
++ dev_warn(&isys->adev->dev, "no subdev found in graph\n");
++ return 0;
++ }
++
++ isys->notifier.ops = &isys_async_ops;
++ ret = v4l2_async_nf_register(&isys->notifier);
++ if (ret) {
++ dev_err(&isys->adev->dev,
++ "failed to register async notifier : %d\n", ret);
++ v4l2_async_nf_cleanup(&isys->notifier);
++ }
++
++ return ret;
++}
++#endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0) || LINUX_VERSION_CODE == KERNEL_VERSION(5, 15, 71)
+ static void isys_notifier_cleanup(struct ipu_isys *isys)
+ {
+ v4l2_async_nf_unregister(&isys->notifier);
+diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c b/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
+index c26780106c78..d2f4f74b67ee 100644
+--- a/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
++++ b/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
+@@ -504,11 +504,16 @@ int ipu6_isys_phy_common_init(struct ipu_isys *isys)
+ struct ipu_bus_device *adev = to_ipu_bus_device(&isys->adev->dev);
+ struct ipu_device *isp = adev->isp;
+ void __iomem *isp_base = isp->base;
+- struct v4l2_async_subdev *asd;
+ struct sensor_async_subdev *s_asd;
+ unsigned int i;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
++ struct v4l2_async_subdev *asd;
+ list_for_each_entry(asd, &isys->notifier.asd_list, asd_list) {
++#else
++ struct v4l2_async_connection *asd;
++ list_for_each_entry(asd, &isys->notifier.done_list, asc_entry) {
++#endif
+ s_asd = container_of(asd, struct sensor_async_subdev, asd);
+ phy_id = s_asd->csi2.port / 4;
+ phy_base = isp_base + IPU6_ISYS_PHY_BASE(phy_id);
+@@ -562,12 +567,17 @@ int ipu6_isys_phy_config(struct ipu_isys *isys)
+ struct ipu_device *isp = adev->isp;
+ void __iomem *isp_base = isp->base;
+ const struct phy_reg **phy_config_regs;
+- struct v4l2_async_subdev *asd;
+ struct sensor_async_subdev *s_asd;
+ struct ipu_isys_csi2_config cfg;
+ int i;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
++ struct v4l2_async_subdev *asd;
+ list_for_each_entry(asd, &isys->notifier.asd_list, asd_list) {
++#else
++ struct v4l2_async_connection *asd;
++ list_for_each_entry(asd, &isys->notifier.done_list, asc_entry) {
++#endif
+ s_asd = container_of(asd, struct sensor_async_subdev, asd);
+ cfg.port = s_asd->csi2.port;
+ cfg.nlanes = s_asd->csi2.nlanes;
+diff --git a/include/media/ipu-isys.h b/include/media/ipu-isys.h
+index b75febf80fc2..0b0caab1b10f 100644
+--- a/include/media/ipu-isys.h
++++ b/include/media/ipu-isys.h
+@@ -6,6 +6,7 @@
+
+ #include <linux/i2c.h>
+ #include <linux/clkdev.h>
++#include <linux/version.h>
+ #include <media/v4l2-async.h>
+
+ #define IPU_ISYS_MAX_CSI2_LANES 4
+@@ -37,7 +38,11 @@ struct ipu_isys_subdev_pdata {
+ };
+
+ struct sensor_async_subdev {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev asd;
++#else
++ struct v4l2_async_connection asd;
++#endif
+ struct ipu_isys_csi2_config csi2;
+ };
+
diff --git a/intel-ipu6-kmod.spec b/intel-ipu6-kmod.spec
index 899f3d7..bcb9dd7 100644
--- a/intel-ipu6-kmod.spec
+++ b/intel-ipu6-kmod.spec
@@ -16,7 +16,7 @@
Name: %{prjname}-kmod
Summary: Kernel module (kmod) for %{prjname}
Version: 0.0
-Release: 7.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
+Release: 8.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
License: GPLv2+
URL: https://github.com/intel
@@ -26,6 +26,7 @@ Source1: %{url}/ipu6-drivers/archive/%{ipu6_commit}/ipu6-drivers-%{ipu6_s
# Patches
Patch10: 0001-ipu-psys-Fix-compilation-with-kernels-6.5.0.patch
+Patch11: 0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
BuildRequires: gcc
BuildRequires: elfutils-libelf-devel
@@ -53,6 +54,7 @@ kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{prjname} %{?buil
%setup -q -c -a 1
(cd ipu6-drivers-%{ipu6_commit}
%patch10 -p1
+%patch11 -p1
)
cp -Rp ivsc-driver-%{ivsc_commit}/backport-include ipu6-drivers-%{ipu6_commit}/
@@ -98,6 +100,9 @@ done
%changelog
+* Thu Aug 31 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-8.20230622git8e41080
+- Support for 6.6 kernel
+
* Tue Aug 29 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-7.20230622git8e41080
- Support for 6.5 kernel
1 year, 2 months
[intel-ipu6-kmod] Fix log date
by smallorange
commit 67217fdc6e09434e33675d67d7e4c04fe65e32ae
Author: Kate Hsuan <hpa(a)redhat.com>
Date: Thu Aug 31 15:19:42 2023 +0800
Fix log date
Signed-off-by: Kate Hsuan <hpa(a)redhat.com>
intel-ipu6-kmod.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/intel-ipu6-kmod.spec b/intel-ipu6-kmod.spec
index c49b422..bcb9dd7 100644
--- a/intel-ipu6-kmod.spec
+++ b/intel-ipu6-kmod.spec
@@ -100,7 +100,7 @@ done
%changelog
-* Tue Aug 29 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-8.20230622git8e41080
+* Thu Aug 31 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-8.20230622git8e41080
- Support for 6.6 kernel
* Tue Aug 29 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-7.20230622git8e41080
1 year, 2 months
[intel-ipu6-kmod] Support for 6.6 kernel
by smallorange
commit 1d327521e47fefc43dbf67f46a8c499bd46e8763
Author: Kate Hsuan <hpa(a)redhat.com>
Date: Thu Aug 31 14:19:59 2023 +0800
Support for 6.6 kernel
Signed-off-by: Kate Hsuan <hpa(a)redhat.com>
0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch | 207 +++++++++++++++++++++
intel-ipu6-kmod.spec | 7 +-
2 files changed, 213 insertions(+), 1 deletion(-)
---
diff --git a/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch b/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
new file mode 100644
index 0000000..9f448f8
--- /dev/null
+++ b/0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
@@ -0,0 +1,207 @@
+From 931ceecc44e2aec6e703cc1ecd1a281114678756 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede(a)redhat.com>
+Date: Mon, 28 Aug 2023 17:05:16 +0200
+Subject: [PATCH] ipu6: Fix compilation with kernels >= 6.6.0
+
+Kernel 6.6 has made some significant changes to how v4l2-async
+(sub)dev registration works. Adjust the code accordingly.
+
+Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
+---
+ drivers/media/pci/intel/ipu-isys.c | 78 +++++++++++++++++++-
+ drivers/media/pci/intel/ipu6/ipu6-isys-phy.c | 14 +++-
+ include/media/ipu-isys.h | 5 ++
+ 3 files changed, 94 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/media/pci/intel/ipu-isys.c b/drivers/media/pci/intel/ipu-isys.c
+index 5cab1bb1b68c..de68e3a381e8 100644
+--- a/drivers/media/pci/intel/ipu-isys.c
++++ b/drivers/media/pci/intel/ipu-isys.c
+@@ -725,7 +725,11 @@ static int isys_iwake_watermark_cleanup(struct ipu_isys *isys)
+ /* The .bound() notifier callback when a match is found */
+ static int isys_notifier_bound(struct v4l2_async_notifier *notifier,
+ struct v4l2_subdev *sd,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev *asd)
++#else
++ struct v4l2_async_connection *asd)
++#endif
+ {
+ struct ipu_isys *isys = container_of(notifier,
+ struct ipu_isys, notifier);
+@@ -741,7 +745,11 @@ static int isys_notifier_bound(struct v4l2_async_notifier *notifier,
+
+ static void isys_notifier_unbind(struct v4l2_async_notifier *notifier,
+ struct v4l2_subdev *sd,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev *asd)
++#else
++ struct v4l2_async_connection *asd)
++#endif
+ {
+ struct ipu_isys *isys = container_of(notifier,
+ struct ipu_isys, notifier);
+@@ -765,6 +773,7 @@ static const struct v4l2_async_notifier_operations isys_async_ops = {
+ .complete = isys_notifier_complete,
+ };
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ static int isys_fwnode_parse(struct device *dev,
+ struct v4l2_fwnode_endpoint *vep,
+ struct v4l2_async_subdev *asd)
+@@ -777,6 +786,7 @@ static int isys_fwnode_parse(struct device *dev,
+
+ return 0;
+ }
++#endif
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) && LINUX_VERSION_CODE != KERNEL_VERSION(5, 15, 71)
+ static int isys_notifier_init(struct ipu_isys *isys)
+@@ -819,7 +829,7 @@ static void isys_notifier_cleanup(struct ipu_isys *isys)
+ v4l2_async_notifier_unregister(&isys->notifier);
+ v4l2_async_notifier_cleanup(&isys->notifier);
+ }
+-#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ static int isys_notifier_init(struct ipu_isys *isys)
+ {
+ struct ipu_device *isp = isys->adev->isp;
+@@ -852,7 +862,73 @@ static int isys_notifier_init(struct ipu_isys *isys)
+
+ return ret;
+ }
++#else
++static int isys_notifier_init(struct ipu_isys *isys)
++{
++ const struct ipu_isys_internal_csi2_pdata *csi2 =
++ &isys->pdata->ipdata->csi2;
++ struct ipu_device *isp = isys->adev->isp;
++ struct device *dev = &isp->pdev->dev;
++ unsigned int i;
++ int ret;
++
++ v4l2_async_nf_init(&isys->notifier, &isys->v4l2_dev);
++
++ for (i = 0; i < csi2->nports; i++) {
++ struct v4l2_fwnode_endpoint vep = {
++ .bus_type = V4L2_MBUS_CSI2_DPHY
++ };
++ struct sensor_async_subdev *s_asd;
++ struct fwnode_handle *ep;
++
++ ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), i, 0,
++ FWNODE_GRAPH_ENDPOINT_NEXT);
++ if (!ep)
++ continue;
++
++ ret = v4l2_fwnode_endpoint_parse(ep, &vep);
++ if (ret)
++ goto err_parse;
++
++ s_asd = v4l2_async_nf_add_fwnode_remote(&isys->notifier, ep,
++ struct
++ sensor_async_subdev);
++ if (IS_ERR(s_asd)) {
++ ret = PTR_ERR(s_asd);
++ goto err_parse;
++ }
++
++ s_asd->csi2.port = vep.base.port;
++ s_asd->csi2.nlanes = vep.bus.mipi_csi2.num_data_lanes;
++
++ fwnode_handle_put(ep);
++
++ continue;
++
++err_parse:
++ fwnode_handle_put(ep);
++ return ret;
++ }
++
++ if (list_empty(&isys->notifier.waiting_list)) {
++ /* isys probe could continue with async subdevs missing */
++ dev_warn(&isys->adev->dev, "no subdev found in graph\n");
++ return 0;
++ }
++
++ isys->notifier.ops = &isys_async_ops;
++ ret = v4l2_async_nf_register(&isys->notifier);
++ if (ret) {
++ dev_err(&isys->adev->dev,
++ "failed to register async notifier : %d\n", ret);
++ v4l2_async_nf_cleanup(&isys->notifier);
++ }
++
++ return ret;
++}
++#endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0) || LINUX_VERSION_CODE == KERNEL_VERSION(5, 15, 71)
+ static void isys_notifier_cleanup(struct ipu_isys *isys)
+ {
+ v4l2_async_nf_unregister(&isys->notifier);
+diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c b/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
+index c26780106c78..d2f4f74b67ee 100644
+--- a/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
++++ b/drivers/media/pci/intel/ipu6/ipu6-isys-phy.c
+@@ -504,11 +504,16 @@ int ipu6_isys_phy_common_init(struct ipu_isys *isys)
+ struct ipu_bus_device *adev = to_ipu_bus_device(&isys->adev->dev);
+ struct ipu_device *isp = adev->isp;
+ void __iomem *isp_base = isp->base;
+- struct v4l2_async_subdev *asd;
+ struct sensor_async_subdev *s_asd;
+ unsigned int i;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
++ struct v4l2_async_subdev *asd;
+ list_for_each_entry(asd, &isys->notifier.asd_list, asd_list) {
++#else
++ struct v4l2_async_connection *asd;
++ list_for_each_entry(asd, &isys->notifier.done_list, asc_entry) {
++#endif
+ s_asd = container_of(asd, struct sensor_async_subdev, asd);
+ phy_id = s_asd->csi2.port / 4;
+ phy_base = isp_base + IPU6_ISYS_PHY_BASE(phy_id);
+@@ -562,12 +567,17 @@ int ipu6_isys_phy_config(struct ipu_isys *isys)
+ struct ipu_device *isp = adev->isp;
+ void __iomem *isp_base = isp->base;
+ const struct phy_reg **phy_config_regs;
+- struct v4l2_async_subdev *asd;
+ struct sensor_async_subdev *s_asd;
+ struct ipu_isys_csi2_config cfg;
+ int i;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
++ struct v4l2_async_subdev *asd;
+ list_for_each_entry(asd, &isys->notifier.asd_list, asd_list) {
++#else
++ struct v4l2_async_connection *asd;
++ list_for_each_entry(asd, &isys->notifier.done_list, asc_entry) {
++#endif
+ s_asd = container_of(asd, struct sensor_async_subdev, asd);
+ cfg.port = s_asd->csi2.port;
+ cfg.nlanes = s_asd->csi2.nlanes;
+diff --git a/include/media/ipu-isys.h b/include/media/ipu-isys.h
+index b75febf80fc2..0b0caab1b10f 100644
+--- a/include/media/ipu-isys.h
++++ b/include/media/ipu-isys.h
+@@ -6,6 +6,7 @@
+
+ #include <linux/i2c.h>
+ #include <linux/clkdev.h>
++#include <linux/version.h>
+ #include <media/v4l2-async.h>
+
+ #define IPU_ISYS_MAX_CSI2_LANES 4
+@@ -37,7 +38,11 @@ struct ipu_isys_subdev_pdata {
+ };
+
+ struct sensor_async_subdev {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0)
+ struct v4l2_async_subdev asd;
++#else
++ struct v4l2_async_connection asd;
++#endif
+ struct ipu_isys_csi2_config csi2;
+ };
+
diff --git a/intel-ipu6-kmod.spec b/intel-ipu6-kmod.spec
index 899f3d7..c49b422 100644
--- a/intel-ipu6-kmod.spec
+++ b/intel-ipu6-kmod.spec
@@ -16,7 +16,7 @@
Name: %{prjname}-kmod
Summary: Kernel module (kmod) for %{prjname}
Version: 0.0
-Release: 7.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
+Release: 8.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
License: GPLv2+
URL: https://github.com/intel
@@ -26,6 +26,7 @@ Source1: %{url}/ipu6-drivers/archive/%{ipu6_commit}/ipu6-drivers-%{ipu6_s
# Patches
Patch10: 0001-ipu-psys-Fix-compilation-with-kernels-6.5.0.patch
+Patch11: 0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
BuildRequires: gcc
BuildRequires: elfutils-libelf-devel
@@ -53,6 +54,7 @@ kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{prjname} %{?buil
%setup -q -c -a 1
(cd ipu6-drivers-%{ipu6_commit}
%patch10 -p1
+%patch11 -p1
)
cp -Rp ivsc-driver-%{ivsc_commit}/backport-include ipu6-drivers-%{ipu6_commit}/
@@ -98,6 +100,9 @@ done
%changelog
+* Tue Aug 29 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-8.20230622git8e41080
+- Support for 6.6 kernel
+
* Tue Aug 29 2023 Kate Hsuan <hpa(a)redhat.com> - 0.0-7.20230622git8e41080
- Support for 6.5 kernel
1 year, 2 months
[mpv-mpris/f39] (2 commits) ...update sources file
by sentry
Summary of changes:
6a86580... Update to version 1.1, migrate build requirements to pkgcon (*)
29d8631... update sources file (*)
(*) This commit already existed in another branch; no separate mail sent
1 year, 2 months
[mpv-mpris] update sources file
by sentry
commit 29d863163da8e141d268546612924232b55fb603
Author: Jan200101 <sentrycraft123(a)gmail.com>
Date: Wed Aug 30 20:33:43 2023 +0200
update sources file
sources | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/sources b/sources
index a218a5d..a025314 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mpv-mpris-1.0.tar.gz) = edc8218477a3b9b6c0568a122f3c02efde86a4de97f84872b767031e58c6916d4e3b34de75275538e8f18f28f15a139d8fca8631a76cecc04d8df88c457d5fad
+SHA512 (mpv-mpris-1.1.tar.gz) = 81622e5e34a8ebde735c39a1615569c833d6cf53c70b4f77794788fd8b19982cc33a71ff5768027826dafc608fa72a089e38c0925a907fa249f5c527d17f9541
1 year, 2 months
[mpv-mpris] Update to version 1.1, migrate build requirements to pkgconfigs
by sentry
commit 6a86580f2a5f588e115188fbac98844c6822f80a
Author: Jan200101 <sentrycraft123(a)gmail.com>
Date: Wed Aug 30 20:32:19 2023 +0200
Update to version 1.1, migrate build requirements to pkgconfigs
mpv-mpris.spec | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/mpv-mpris.spec b/mpv-mpris.spec
index 34e54f5..4943a02 100644
--- a/mpv-mpris.spec
+++ b/mpv-mpris.spec
@@ -1,6 +1,6 @@
Name: mpv-mpris
-Version: 1.0
-Release: 2%{?dist}
+Version: 1.1
+Release: 1%{?dist}
Summary: MPRIS plugin for mpv
License: MIT
@@ -8,9 +8,9 @@ URL: https://github.com/hoyon/mpv-mpris
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires: gcc
-BuildRequires: mpv-libs-devel
-BuildRequires: glib2-devel
-BuildRequires: pkg-config
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(mpv)
+BuildRequires: pkgconfig(libavformat)
Requires: mpv
@@ -43,6 +43,9 @@ ln -sf %{_libdir}/mpv/mpris.so %{buildroot}/%{_sysconfdir}/mpv/scripts/
%doc README.md
%changelog
+* Wed Aug 30 2023 Jan Drögehoff <sentrycraft123(a)gmail.com> - 1.1-1
+- Update to version 1.1
+
* Wed Aug 02 2023 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
1 year, 2 months