mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Carlos Alberto <carlosalberto4ti@gmail.com>
To: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Cc: gregkh@linuxfoundation.org, mchehab@kernel.org,
	hverkuil@xs4all.nl, linux-media@vger.kernel.org,
	devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/2] staging: media: facetimehd: add driver for Apple FaceTime HD camera
Date: Sat, 07 Nov 2026 07:35:42 -0300	[thread overview]
Message-ID: <179404774285.169490.9329436104235338936@gmail.com> (raw)
In-Reply-To: <CAMeQTsZAfgfBadAV28-k9jmKoqJi03xghmnAqUwK8Unzd8JEsw@mail.gmail.com>

Hi Patrik,

First of all, I sincerely apologize for the noise and the incomplete submission to the mailing lists. As this was my very first time attempting an upstream kernel submission, I clearly lacked the proper experience with upstream process, checkpatch discipline, and patch splitting. I am sorry for any frustration this caused.

To be completely candid and transparent: yes, an AI assistant was used alongside physical hardware testing. My setup is a physical MacBook Pro Retina 15" Mid 2014 (MacBookPro11,2, BCM1570 PCIe camera, PCI 14e4:1570) running modern Linux (Ubuntu / kernel 7.0 and 6.12+). The camera was freezing completely under Wayland / PipeWire / Flatpak due to deprecated vb2 callbacks and unaligned in-page USERPTR buffer offsets that stalled the ISP DMA descriptors.

My goal was to dig deep into the hardware, study the MMIO traces, understand the S2 IOMMU page mechanics, and get the camera functioning smoothly on my machine. When we finally solved the USERPTR offset stall and achieved a rock-solid, real-time 30.0 fps in PipeWire, Flatpak (Cheese / Snapshot), and native V4L2 without dropped frames, my sole intent was to share all these findings with someone who possesses deep knowledge of the driver (you), so you could review, validate, and incorporate whatever is genuinely useful.

Because of this, we ended up with two distinct repositories, and I want to share both with you along with all research documentation:

1. The Driver Source Repository (Fully Audited & Working):
   - GitHub: https://github.com/programandosolucoes/facetimehd/tree/linux-6.12-compat
   - PR Reference: https://github.com/patjak/facetimehd/pull/368
   - Status: We have now fully audited the driver against scripts/checkpatch.pl (0 errors across all 17 source files), removed obsolete #if LINUX_VERSION_CODE blocks, normalized SPDX headers to line 1, fixed Coccinelle remarks, and modernized vb2 buffer setup and capabilities for modern kernels.

2. The Hardware Reverse Engineering & Firmware Study Repository:
   - GitHub: https://github.com/programandosolucoes/open-fthd-firmware
   - Documentation: https://github.com/programandosolucoes/open-fthd-firmware/tree/main/docs
   - This repo contains all our reverse engineering notes, MMIO register mappings, ARMv7 architecture analysis, and IPC mailbox tracing (DATASHEET_AND_PROVENANCE_REPORT.md).
   - Regarding your observation: you are 100% right. OpenFTHD was an exploratory clean-room proof-of-concept; it is not a complete ISP pipeline. I completely agree with your point that the established extract-firmware.sh script is already the correct and proven solution for the community.

I will not send any further patch series to the kernel mailing lists. I defer entirely to your leadership to organize and submit this driver upstream when you feel the queue on GitHub is ready. Please feel free to cherry-pick, adapt, or rewrite any parts of the code and documentation from our repositories.

Most importantly, I have this physical MacBook Pro 11,2 on my desk and use it daily. I am 100% at your service whenever you need someone to test patches, dump hardware registers, or validate any experimental branch on real hardware. Just reach out anytime!

Thank you again for all your dedication and foundational work on this driver.

Best regards,
Carlos Alberto

      reply	other threads:[~2026-11-07 10:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-06 20:43 Carlos Alberto
2026-11-06 20:43 ` [PATCH] staging: media: facetimehd: add driver for Apple FaceTime HD (BCM1570) PCIe camera Carlos Alberto
2026-11-06 20:43 ` [PATCH 2/2] staging: media: wire up facetimehd in Kconfig and Makefile Carlos Alberto
2026-11-07  9:24 ` [PATCH 0/2] staging: media: facetimehd: add driver for Apple FaceTime HD camera Patrik Jakobsson
2026-11-07 10:35   ` Carlos Alberto [this message]

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=179404774285.169490.9329436104235338936@gmail.com \
    --to=carlosalberto4ti@gmail.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=patrik.r.jakobsson@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®