diff mbox series

uvc: Add support for Quanta ACER HD User Facing Camera (0408:4033)

Message ID 20240930184705.59508-1-takshakmudgal@gmail.com (mailing list archive)
State New
Headers show
Series uvc: Add support for Quanta ACER HD User Facing Camera (0408:4033) | expand

Commit Message

Takshak Mudgal Sept. 30, 2024, 6:47 p.m. UTC
This patch adds support for the Quanta ACER HD User Facing Camera
with USB ID 0408:4033, which is found in some Acer Nitro 5 and
Aspire 3 series laptops. The camera is UVC 1.1 compliant but
requires explicit enumeration to function correctly.

Signed-off-by: Takshak Mudgal <takshakmudgal@gmail.com>
---
 drivers/media/usb/uvc/uvc_driver.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Ricardo Ribalda Sept. 30, 2024, 6:49 p.m. UTC | #1
Hi Takshak

There is already a patch for this under review:
https://lore.kernel.org/linux-media/20240924-uvc-quanta-v1-1-2de023863767@chromium.org/

Will likely land in 6.13

Regards!

On Mon, 30 Sept 2024 at 20:48, Takshak Mudgal <takshakmudgal@gmail.com> wrote:
>
> This patch adds support for the Quanta ACER HD User Facing Camera
> with USB ID 0408:4033, which is found in some Acer Nitro 5 and
> Aspire 3 series laptops. The camera is UVC 1.1 compliant but
> requires explicit enumeration to function correctly.
>
> Signed-off-by: Takshak Mudgal <takshakmudgal@gmail.com>
> ---
>  drivers/media/usb/uvc/uvc_driver.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index f0febdc08..40db8a5f4 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -2430,6 +2430,24 @@ static const struct uvc_device_info uvc_quirk_force_y8 = {
>   * though they are compliant.
>   */
>  static const struct usb_device_id uvc_ids[] = {
> +       /**
> +          * Fix for the problem with cameras on Acer Nitro 5 Series & Acer Aspire 3 Series.
> +          *
> +          * Fix required for the camera here
> +          * Thanks for @Giuliano69 for providing the fix
> +         */
> +       /* Quanta ACER HD User Facing 4033 - Experimental !! */
> +       { .match_flags          = USB_DEVICE_ID_MATCH_DEVICE
> +                               | USB_DEVICE_ID_MATCH_INT_INFO,
> +         .idVendor             = 0x0408,
> +         .idProduct            = 0x4033,
> +         .bInterfaceClass      = USB_CLASS_VIDEO,
> +         .bInterfaceSubClass   = 1,
> +         .bInterfaceProtocol   = UVC_PC_PROTOCOL_15,
> +         .driver_info          = (kernel_ulong_t)&(const struct uvc_device_info){
> +               .uvc_version    = 0x010a,
> +         } },
> +       /* Fix end here */
>         /* Quanta ACER HD User Facing */
>         { .match_flags          = USB_DEVICE_ID_MATCH_DEVICE
>                                 | USB_DEVICE_ID_MATCH_INT_INFO,
> --
> 2.46.2
>
>
Laurent Pinchart Sept. 30, 2024, 10:31 p.m. UTC | #2
On Mon, Sep 30, 2024 at 08:49:59PM +0200, Ricardo Ribalda wrote:
> Hi Takshak
> 
> There is already a patch for this under review:
> https://lore.kernel.org/linux-media/20240924-uvc-quanta-v1-1-2de023863767@chromium.org/
> 
> Will likely land in 6.13

More than likely, I've sent a pull request already:
https://lore.kernel/org/r/20240927205959.GA12322@pendragon.ideasonboard.com

> On Mon, 30 Sept 2024 at 20:48, Takshak Mudgal <takshakmudgal@gmail.com> wrote:
> >
> > This patch adds support for the Quanta ACER HD User Facing Camera
> > with USB ID 0408:4033, which is found in some Acer Nitro 5 and
> > Aspire 3 series laptops. The camera is UVC 1.1 compliant but
> > requires explicit enumeration to function correctly.
> >
> > Signed-off-by: Takshak Mudgal <takshakmudgal@gmail.com>
> > ---
> >  drivers/media/usb/uvc/uvc_driver.c | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> >
> > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> > index f0febdc08..40db8a5f4 100644
> > --- a/drivers/media/usb/uvc/uvc_driver.c
> > +++ b/drivers/media/usb/uvc/uvc_driver.c
> > @@ -2430,6 +2430,24 @@ static const struct uvc_device_info uvc_quirk_force_y8 = {
> >   * though they are compliant.
> >   */
> >  static const struct usb_device_id uvc_ids[] = {
> > +       /**
> > +          * Fix for the problem with cameras on Acer Nitro 5 Series & Acer Aspire 3 Series.
> > +          *
> > +          * Fix required for the camera here
> > +          * Thanks for @Giuliano69 for providing the fix
> > +         */
> > +       /* Quanta ACER HD User Facing 4033 - Experimental !! */
> > +       { .match_flags          = USB_DEVICE_ID_MATCH_DEVICE
> > +                               | USB_DEVICE_ID_MATCH_INT_INFO,
> > +         .idVendor             = 0x0408,
> > +         .idProduct            = 0x4033,
> > +         .bInterfaceClass      = USB_CLASS_VIDEO,
> > +         .bInterfaceSubClass   = 1,
> > +         .bInterfaceProtocol   = UVC_PC_PROTOCOL_15,
> > +         .driver_info          = (kernel_ulong_t)&(const struct uvc_device_info){
> > +               .uvc_version    = 0x010a,
> > +         } },
> > +       /* Fix end here */
> >         /* Quanta ACER HD User Facing */
> >         { .match_flags          = USB_DEVICE_ID_MATCH_DEVICE
> >                                 | USB_DEVICE_ID_MATCH_INT_INFO,
diff mbox series

Patch

diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index f0febdc08..40db8a5f4 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -2430,6 +2430,24 @@  static const struct uvc_device_info uvc_quirk_force_y8 = {
  * though they are compliant.
  */
 static const struct usb_device_id uvc_ids[] = {
+	/**
+	   * Fix for the problem with cameras on Acer Nitro 5 Series & Acer Aspire 3 Series.
+	   * 
+	   * Fix required for the camera here
+	   * Thanks for @Giuliano69 for providing the fix
+	  */
+	/* Quanta ACER HD User Facing 4033 - Experimental !! */
+	{ .match_flags 		= USB_DEVICE_ID_MATCH_DEVICE 
+		       		| USB_DEVICE_ID_MATCH_INT_INFO,
+	  .idVendor 		= 0x0408,
+	  .idProduct 		= 0x4033,
+	  .bInterfaceClass 	= USB_CLASS_VIDEO,
+	  .bInterfaceSubClass 	= 1,
+	  .bInterfaceProtocol 	= UVC_PC_PROTOCOL_15,
+	  .driver_info 		= (kernel_ulong_t)&(const struct uvc_device_info){
+		.uvc_version 	= 0x010a,
+	  } },
+	/* Fix end here */
 	/* Quanta ACER HD User Facing */
 	{ .match_flags		= USB_DEVICE_ID_MATCH_DEVICE
 				| USB_DEVICE_ID_MATCH_INT_INFO,