Re: atomisp kernel driver(s)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 01.05.20 00:25, Mauro Carvalho Chehab wrote:
Em Thu, 30 Apr 2020 17:09:48 +0200
Patrik Gfeller <patrik.gfeller@xxxxxxxxx> escreveu:

Am 4/30/2020 um 12:55 PM schrieb Mauro Carvalho Chehab:
Em Thu, 30 Apr 2020 09:56:53 +0200
Patrik Gfeller<patrik.gfeller@xxxxxxxxx>  escreveu:
For my first test tried to re-compile to module, without the whole
kernel. That was a mistake, as I mixed something up, probably it loaded
an old version of the module ... to be on the save side the steps I used
this time (in case we see something unexpected and for my later reference):

$ git log --oneline
4c922df10252 (HEAD -> atomisp, origin/atomisp) media: atomisp2: get rid
of ia_css_sc_param.h version dependency
...

$ make -j4 clean
$ make -j4
$ sudo make modules_install INSTALL_MOD_STRIP=1
$ sudo make install
Please try to build from this branch:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_v2

You'll need to setup a new config var there. So, please run this before
make clean. So, for building it, you will do:

	$ ./scripts/config -e CONFIG_VIDEO_ATOMISP_ISP2401 && make -j modules_prepare
	$ make -j4 clean && make -j4
	$ sudo make modules_install INSTALL_MOD_STRIP=1 && sudo make install

This won't change the regulator detection, but it should hopefully use
the ISP2401-specific code, with seems to be needed for your device.
I've updated to the latest source (git checkout atomisp_v2 && git pull)
and compiled using the instructions above. Compilation worked well, but
the linker had some problems (full log attached):

...
ld:
drivers/staging/media/atomisp/pci/css_2401_system/hive_isp_css_2401_system_generated/ia_css_isp_states.o:(.data+0x0):
multiple definition of `ia_css_kernel_init_state';
drivers/staging/media/atomisp/pci/css_2401_csi2p_system/hive_isp_css_2401_system_csi2p_generated/ia_css_isp_states.o:(.data+0x0):
first defined here
...
Ok. That's because there are two "hive" variants. the building system
should use either one of them (but not both at the same time).

I didn't get the error before because I was just building a module
(that speeds up the development). Such errors only happen on a full
build.

Fixed.

As I did a git rebase (in order to have something that we could
upstream later), you'll need to use this procedure to update:

	$ git remote update
	$ git reset --hard origin/atomisp_v2

There's no need to clean your last build. Just run:

	$ make -j4

And it should build fine this time.

Compiled and linked :-). We get some more output this time:

[    9.120066] kernel: videodev: Linux video capture interface: v2.00

[    9.141554] kernel: atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned. [    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 [    9.235057] kernel: proc_thermal 0000:00:0b.0: Creating sysfs group for PROC_THERMAL_PCI [    9.238185] kernel: ov2680 i2c-OVTI2680:00: supply Regulator2p8v not found, using dummy regulator [    9.337925] kernel: atomisp: module is from the staging directory, the quality is unknown, you have been warned. [    9.404666] kernel: atomisp-isp2 0000:00:03.0: enabling device (0000 -> 0002) [    9.408680] kernel: atomisp-isp2 0000:00:03.0: ISP HPLL frequency base = 1600 MHz [    9.412197] kernel: atomisp-isp2 0000:00:03.0: Unsupported hw_revision 0x2010 [    9.416174] kernel: atomisp-isp2: probe of 0000:00:03.0 failed with error -2
[    9.419377] kernel: ov2680 i2c-OVTI2680:00: unable to set PMC rate 1
[    9.458987] kernel: ov2680 i2c-OVTI2680:00: camera pdata: port: 1 lanes: 1 order: 00000002 [    9.460049] kernel: atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned. [    9.463221] kernel: ov2680 i2c-OVTI2680:00: sensor_revision id = 0x2680, rev= 0 [    9.503230] kernel: ov2680 i2c-OVTI2680:00: register atomisp i2c module type 1
Not sure if I can help with that. Sounds like we have to remove
definitions - which I might be able to do. But I would need to know
where the right place is to keep the definitions.
If a code generator is
involved (one of the paths looks like it) it will be more difficult for
me.
Intel seems to use some code generator internally. Basically, for each
specific device, it can remove/add/change things. Don't mind about that.

For us, we're seeing just the generated code and working to simplify it
and making it more generic.
So the original code is from intel itself? I currently have an open support request to get access to the information we need. Maybe it is helpful if I can let them know the code was from them in the first place. I'll check the history to find who from intel contributed.

But with some hints I'm of course willing to give it a shot. Please
give me an example of a definition) and a hint in case we deal with
generated code.

Ah, when replying, could you please use an emailer that won't be breaking
long lines? Your emailer is currently breaking lines longer than 80 columns,
with is quite annoying when checking log results ;-)
I changed the configuration of my mail client; a test message looked ok.
Let me know if the problem persists.
Yeah, is is fine now. Thanks!

Thanks,
Mauro

with kind regards,
Patrik




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux