linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Patrik Gfeller <patrik.gfeller@gmail.com>
Cc: linux-media@vger.kernel.org
Subject: Re: atomisp kernel driver(s)
Date: Sat, 2 May 2020 12:00:46 +0200	[thread overview]
Message-ID: <20200502120046.29918306@coco.lan> (raw)
In-Reply-To: <0241bafc-d392-3848-852a-b9ebca1664a0@gmail.com>

Em Sat, 2 May 2020 11:20:04 +0200
Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:

> On 02.05.20 10:15, Patrik Gfeller wrote:
> > On Fri, 1 May 2020 21:30:23 +0200
> > Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote:
> >  
> >> Em Fri, 1 May 2020 19:31:05 +0200
> >> Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> >>  
> >>> On Fri, 1 May 2020 11:38:12 +0200
> >>> Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote:
> >>>
> >>> [...] 
> >>>  
> >>>> Hmm.. your e-mailer is breaking long lines again  :-(    
> >>> Ok - then the configuration option I used is not reliable. I've now switched to Claws Mail; I hope this resolves the problem.  
> >> Yeah, that's what I use here. I actually manually break my lines
> >> when I'm closed to the 80 column, as most people do on mailing
> >> lists (some people read those upstream MLs with emacs).
> >>  
> Sorry - I use my old mailer for this message - as I suddenly do not see
> sent messages anymore
> in claws and can this not follow up on my last sent mail. I'll try to
> fix this and use claws again.
> 
> >>>>     
> >>>>> [    9.175421] kernel: ov2680 i2c-OVTI2680:00: gmin: initializing atomisp module subdev data.PMIC ID 1
> >>>>> [    9.178755] kernel: ov2680 i2c-OVTI2680:00: supply V1P2A not
> >>>>> found, using dummy regulator [    9.189966] kernel: proc_thermal
> >>>>> 0000:00:0b.0: enabling device (0000 -> 0002)    
> >>>>> [    9.212704] kernel: ov2680 i2c-OVTI2680:00: supply VPROG4B not
> >>>>> found, using dummy regulator
> >>>>> [    9.235024] kernel: ov2680 i2c-OVTI2680:00: supply Regulator1p8v
> >>>>> not found, using dummy regulator      
> >>>> I'll check this.
> >>>>     
> >>>>> [    9.235057] kernel: proc_thermal 0000:00:0b.0: Creating sysfs
> >>>>> group for PROC_THERMAL_PCI  
> >>>> [...]
> >>>>
> >>>> It sounds that we need to add:
> >>>>
> >>>>         if (isp->media_dev.hw_revision ==
> >>>>             ((ATOMISP_HW_REVISION_ISP2401 <<
> >>>> ATOMISP_HW_REVISION_SHIFT) | ATOMISP_HW_STEPPING_B0))
> >>>>                 fw_path = "shisp_2401b0_v21.bin";
> >>>>
> >>>> Eventually, other changes may be needed, depending on how different is
> >>>> this B0 revision from A0.
> >>>>
> >>>> Patch for it pushed. Please notice that it will seek for a firmware
> >>>> named "shisp_2401b0_v21.bin".    
> >>> Unfortunately I was not able to find "shisp_2401b0_v21.bin";   
> >> Yeah, I also searched for it. Was unable to find it. I suspect that the
> >> B0 version could be newer than the atomisp driver that got merged.
> >>  
> >>> so I changed the values in the code and tried with "shisp_2401a0_v21.bin, irci_master_20140707_0622".  
> >> Yeah, I suspect that this is the next best thing.
> >>  
> >>> I contacted Intel to see if they are willing to provide the newer firmware. Alan Cox mentioned in a commit message, that the drivers can be extracted from an "upgrade kit":
> >>>
> >>>    "... The firmware files will usually be found in /etc/firmware on an Android
> >>>    device but can also be extracted from the upgrade kit if you've managed
> >>>    to lose them somehow. ..."
> >>>
> >>> But I did not yet figure out what this kit is.  
> >> The firmware should be there somewhere at the BSP for Android
> >> (for hardware that came originally with it). It should also be
> >> present on Windows and other OSes that support, although the
> >> version could be different.
> >>  
> >>> There is also an open support request with Intel to get some hardware/firmware documentation. But this will be difficult (as expected by you and Laurent) - their process only supports requests from companies that sign an NDA. But I opened a ticket as well to see if there's a way to get access to their developer network someway, or if it is possible that they send only the documents required.   
> >> Yeah, I suspect that they would open this only for companies
> >> with signed NDAs.
> >>  
> >>> I also sent an Mail to the original authors of the drivers at Intel. Two of them no longer work there (mail was rejected), but one went trough. Let's see...  
> >> Ok. Btw, there is a driver for Atomisp on an yocto tree:
> >>
> >> 	https://github.com/intel-aero/meta-intel-aero.git
> >>
> >> It got removed back in 2018, but if you checkout this changeset:
> >>
> >> 	Merge: db1df368eb58 08f476112708
> >> 	Author: Lucas De Marchi <lucas.demarchi@intel.com>
> >> 	Date:   Tue Apr 4 11:51:42 2017 -0700
> >>
> >> 	    Merge pull request #70 from zehortigoza/jam
> >>       
> > Cool, the code might give additional information. I've also send a
> > request regarding the firmware and HW documentation to the author and
> > the engineers that signed the patch. The firmware in the patch has a
> > different version string and the size is surprisingly a few MB bigger
> > than the one I used for the first experiment. I'll give that one a try
> > as well.
> >  
> >> You would be able to see it. Unfortunately, the driver there
> >> also came with shisp_2401a0_v21.bin.
> >>
> >> The driver there forces this specific version, disabling the 
> >> firmware version checking:
> >>
> >> recipes-kernel/linux/linux-yocto/0013-temp-atomisp-support.patch:+ccflags-y += -DATOMISP_POSTFIX=\"css2401a0_v21\" -DATOMISP_FWNAME=\"shisp_2401a0_v21.bin\" -DISP2401 -DISP2401_NEW_INPUT_SYSTEM
> >>
> >> I also found a firmware for some other Asus Transformer device:
> >>
> >> 	https://github.com/jfwells/linux-asus-t100ta/tree/master/webcam/firmware
> >>  
> > It looks a this firmware is for the 2400 variant; I could also not
> > extract the irci version string. Thus I'll not try them for the moment
> > to perform experiments.  
> 
> I've a problem with the build; I've pulled the latest changes from the
> repository - and at least some
> of your changes are lost. I also checked via the web page and there I
> can also not see them
> anymore:
> 
> https://git.linuxtv.org/mchehab/experimental.git/tree/drivers/staging/media/atomisp/atomisp_v4l2.c?h=atomisp_v2
> 
> const struct firmware *
> atomisp_load_firmware(struct atomisp_device *isp)
> {
>     const struct firmware *fw;
>     int rc;
>     char *fw_path = NULL;
> 
>     if (skip_fwload)
>         return NULL;
> 
>     if (isp->media_dev.hw_revision ==
>         ((ATOMISP_HW_REVISION_ISP2401 << ATOMISP_HW_REVISION_SHIFT)
>          | ATOMISP_HW_STEPPING_A0))
>         fw_path = "shisp_2401a0_v21.bin";
> 
>     if (isp->media_dev.hw_revision ==
>         ((ATOMISP_HW_REVISION_ISP2401_LEGACY << ATOMISP_HW_REVISION_SHIFT)
>          | ATOMISP_HW_STEPPING_A0))
>         fw_path = "shisp_2401a0_legacy_v21.bin";
> 
>     if (isp->media_dev.hw_revision ==
>         ((ATOMISP_HW_REVISION_ISP2400 << ATOMISP_HW_REVISION_SHIFT)
>          | ATOMISP_HW_STEPPING_B0))
>         fw_path = "shisp_2400b0_v21.bin";
> 
>     if (!fw_path) {
>         dev_err(isp->dev, "Unsupported hw_revision 0x%x\n",
>             isp->media_dev.hw_revision);
>         return NULL;
>     }
> 
>     rc = request_firmware(&fw, fw_path, isp->dev);
>     if (rc) {
>         dev_err(isp->dev,
>             "atomisp: Error %d while requesting firmware %s\n",
>             rc, fw_path);
>         return NULL;
>     }
> 
>     return fw;
> }
> 
> It also does not build properly anymore (uses the old API again). Do you
> know what
> I'm doing wrong here?

My fault, sorry. There were something wrong on my .git/config, making
it to push a wrong branch to my experimental tree. Just did a forced
push. You should be able to build the atomisp driver there again.

Just be sure to do something like:

	$ git remote update && git reset --HARD origin/atomisp_v2

(This will get rid of any other patch or changes you might have
 applied)

Regards,
Mauro

  reply	other threads:[~2020-05-02 10:00 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-18 14:39 atomisp kernel driver(s) Patrik Gfeller
2020-04-18 15:25 ` Mauro Carvalho Chehab
2020-04-18 15:26   ` Mauro Carvalho Chehab
2020-04-18 15:37     ` Patrik Gfeller
2020-04-19 23:31       ` Mauro Carvalho Chehab
2020-04-20 17:48         ` Patrik Gfeller
2020-04-20 18:27           ` Patrik Gfeller
2020-04-20 20:47             ` Mauro Carvalho Chehab
2020-04-22 17:56               ` Patrik Gfeller
2020-04-22 19:13                 ` Mauro Carvalho Chehab
2020-04-24  8:52                   ` Patrik Gfeller
2020-04-24  9:10                     ` Patrik Gfeller
2020-04-24 10:07                       ` Patrik Gfeller
2020-04-24 13:58                         ` Patrik Gfeller
2020-04-25 11:22                         ` Mauro Carvalho Chehab
2020-04-26 11:38                           ` Patrik Gfeller
2020-04-26 16:50                             ` Mauro Carvalho Chehab
2020-04-27 18:31                               ` Patrik Gfeller
2020-04-27 21:50                                 ` Mauro Carvalho Chehab
2020-04-28 17:59                                   ` Patrik Gfeller
2020-04-28 23:13                                     ` Mauro Carvalho Chehab
2020-04-29 17:56                                       ` Patrik Gfeller
2020-04-29 18:17                                         ` Mauro Carvalho Chehab
2020-04-30  7:56                                           ` Patrik Gfeller
2020-04-30 10:55                                             ` Mauro Carvalho Chehab
2020-04-30 15:09                                               ` Patrik Gfeller
2020-04-30 22:25                                                 ` Mauro Carvalho Chehab
2020-05-01  8:54                                                   ` Patrik Gfeller
2020-05-01  9:38                                                     ` Mauro Carvalho Chehab
2020-05-01 17:31                                                       ` Patrik Gfeller
2020-05-01 19:30                                                         ` Mauro Carvalho Chehab
2020-05-02  8:15                                                           ` Patrik Gfeller
2020-05-02  9:20                                                             ` Patrik Gfeller
2020-05-02 10:00                                                               ` Mauro Carvalho Chehab [this message]
2020-05-02  9:34                                                             ` Mauro Carvalho Chehab
2020-05-02 14:29                                                               ` Patrik Gfeller
2020-05-02 16:28                                                                 ` Mauro Carvalho Chehab
2020-05-02 18:23                                                                   ` Patrik Gfeller
2020-05-02 14:50                                                               ` Patrik Gfeller
2020-04-18 15:29   ` Patrik Gfeller
2020-04-25  2:39 ` Laurent Pinchart
2020-04-25 10:36   ` Patrik Gfeller
2020-04-25 12:19     ` Mauro Carvalho Chehab
2020-04-26 19:07       ` Laurent Pinchart
2020-04-26 20:51         ` Mauro Carvalho Chehab
2020-04-26 19:33     ` Laurent Pinchart
2020-04-28 18:13       ` Patrik Gfeller
2020-04-26  7:44   ` Patrik Gfeller
2020-04-26 19:17     ` Laurent Pinchart
2020-04-29 17:59       ` Patrik Gfeller
2020-04-29 18:19         ` Laurent Pinchart
2020-04-30 15:28           ` Patrik Gfeller
2020-05-02 16:08 ` Andy Shevchenko
2020-05-02 17:04   ` Mauro Carvalho Chehab
2020-05-02 17:33     ` Andy Shevchenko
2020-05-03 10:18       ` Mauro Carvalho Chehab
2020-05-12 10:20       ` Mauro Carvalho Chehab
2020-05-12 11:12         ` Andy Shevchenko
2020-05-12 11:21           ` Andy Shevchenko
2020-05-12 14:56             ` Mauro Carvalho Chehab
2020-05-12 16:01               ` Andy Shevchenko
2020-05-13 18:36                 ` Patrik Gfeller
2020-05-20  8:04                 ` Mauro Carvalho Chehab
2020-05-13  9:56               ` Mauro Carvalho Chehab
2020-05-03  8:46   ` Patrik Gfeller
2020-05-03 10:23     ` Mauro Carvalho Chehab
2020-05-03 12:31       ` Patrik Gfeller
2020-05-03 13:36         ` Patrik Gfeller
2020-05-03 14:43         ` Mauro Carvalho Chehab

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=20200502120046.29918306@coco.lan \
    --to=mchehab+huawei@kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=patrik.gfeller@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;
as well as URLs for NNTP newsgroup(s).