Tom Rix
5088bbde3a
media: staging: atomisp: rework reading the id and revision values
...
Clang static analysis reports this representative issue
atomisp-ov2722.c:920:3: warning: 3rd function call
argument is an uninitialized value
dev_err(&client->dev, "sensor_id_high = 0x%x\n", high);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
high and low are only set when ov2722_read_reg() is successful.
Reporting the high value when there is an error is not
meaningful. The later read for low is not checked. high
and low are or-ed together and checked against a non zero
value.
Remove the unneeded error reporting for high. Initialize
high and low to 0 and use the id check to determine if
the reads were successful
The later read for revision is not checked. If it
fails the old high value will be used and the revision
will be misreported.
Since the revision is only reported and not checked or
stored it is not necessary to return if the read with
successful. This makes the ret variable unnecessary
so remove it.
Link: https://lore.kernel.org/linux-media/20220326191853.2914552-1-trix@redhat.com
Signed-off-by: Tom Rix <trix@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:43:43 +01:00
Hans de Goede
9799a3bf8a
media: atomisp: Add a notes.txt file
...
Add a files documenting what I've learned about the driver while
working on various cleanups.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-41-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:38:25 +01:00
Hans de Goede
b74196e798
media: atomisp: remove force argument from __destroy_[stream[s]|pipe[s]]()
...
The force argument to the __destroy_pipe[s]() and __destroy_stream[s]()
functions is always true. Remove the argument and remove the code necessary
to handle the false case.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-40-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:38:14 +01:00
Hans de Goede
1341bc9e99
media: atomisp: use atomisp_destroy_pipes_stream_force() in more places
...
Use atomisp_destroy_pipes_stream_force() in 4 more places,
instead of open coding it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-39-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:38:13 +01:00
Hans de Goede
318e125ac9
media: atomisp: use atomisp_css_update_stream() in more places
...
Use atomisp_css_update_stream() in 2 more places,
instead of open coding it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-38-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:38:12 +01:00
Hans de Goede
507e72a2ae
media: atomisp: use atomisp_create_pipes_stream() in more places
...
Use atomisp_create_pipes_stream() in 2 more places,
instead of open coding it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-37-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:38:11 +01:00
Hans de Goede
8c341d05a6
media: atomisp: add error logging to atomisp_destroy_pipes_stream_force()
...
__destroy_streams() and __destroy_pipes() may return an error.
Log a warning when either of them fails.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-36-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:38:11 +01:00
Hans de Goede
798d2ad739
media: atomisp: add error checking to atomisp_create_pipes_stream()
...
The functions called by atomisp_create_pipes_stream() can fail,
add error checking for them.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-35-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:38:10 +01:00
Hans de Goede
3bde235bf6
media: atomisp: fix __get_frame_info() error handling
...
On ia_css_pipe_get_info() errors, destroy both the streams as well
as the pipes which were created.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-34-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:38:08 +01:00
Hans de Goede
3a68900a0c
media: atomisp: remove hmm_page_object
...
hmm_page_object only stores a struct page pointer, so we can just use
the hmm_bo.pages page pointer array everywhere.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-33-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:38:07 +01:00
Hans de Goede
f9599127dd
media: atomisp: drop HMM_BO_SHARE type
...
HMM_BO_SHARE is not supported by the hmm_bo code at all, drop it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-32-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:33:21 +01:00
Hans de Goede
975c343f85
media: atomisp: drop highmem var/arg from the hmm code
...
highmem is always false, drop it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-31-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:33:20 +01:00
Hans de Goede
4cc20c9cdd
media: atomisp: Simplify hmm_alloc() calls
...
Make hmm_alloc() only take size as a parameter and remove other parameters.
since all callers always pass the same flags.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-30-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:33:19 +01:00
Hans de Goede
ceff4bdb60
media: atomisp: add hmm_create_from_userdata() helper
...
Most hmm_alloc() callers want BO_PRIVATE type memory.
Add a hmm_create_from_userdata() helper for other cases so that
the hmm_alloc() calls for all the callers who don't want this
can be simplied.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-29-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:23:35 +01:00
Hans de Goede
a9796c7b47
media: atomisp: remove unused hmm address translation functions
...
hmm_isp_vaddr_to_host_vaddr() and hmm_host_vaddr_to_hrt_vaddr()
are unused, remove them.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-28-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:23:33 +01:00
Hans de Goede
9061231732
media: atomisp: drop unused ATOMISP_MAP_FLAG_* flags
...
Drop the ATOMISP_MAP_FLAG_CACHED flag, it is never set anywhere;
also drop the matching "cached" parameter to hmm[_bo]_alloc which
value was derived form the never set flag.
Drop the ATOMISP_MAP_FLAG_NOFLUSH, it is not used anywhere.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-27-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:57 +01:00
Hans de Goede
9f40d3a79d
media: atomisp: drop ATOMISP_MAP_FLAG_CLEARED
...
This flag is only used by one hmm_alloc() caller, drop it and make
the caller call hmm_set(ptr, 0, size) itself to do the clearing.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-26-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:55 +01:00
Hans de Goede
2c19beb23d
media: atomisp: drop unused ATOMISP_ACC_FW_LOAD_* defines
...
Drop the ATOMISP_ACC_FW_LOAD_* defines, these are no longer used anywhere.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-25-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:54 +01:00
Hans de Goede
54c15ddd4c
media: atomisp: remove atomisp_is_acc_enabled()
...
atomisp_is_acc_enabled() always returns false now, remove it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-24-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:53 +01:00
Hans de Goede
3af445e66f
media: atomisp: remove no longer used atomisp_css_acc_done() function
...
atomisp_css_acc_done() is no longer used anywhere, remove it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-23-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:51 +01:00
Hans de Goede
b717c5175a
media: atomisp: asc.acc.pipeline is always NULL
...
With the removal of the ACC ioctls and atomisp_acc.c asc.acc.pipeline
never gets set, so it is always NULL.
Remove asc.acc.pipeline and drop checks for it being NULL / !NULL.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-22-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:50 +01:00
Hans de Goede
16d6a34503
media: atomisp: remove unused atomisp_*css_* functions
...
With the removal of the ACC ioctls and atomisp_acc.c a whole bunch
of atomisp_*css_* functions is no longer used, remove them.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-21-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:48 +01:00
Hans de Goede
868088a061
media: atomisp: remove atomisp_acc.c
...
With the ACC ioctls removed sd->acc.fw is always empty turning
the atomisp_acc.c code into no-ops, remove it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-20-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:47 +01:00
Hans de Goede
4bbca788b6
media: atomisp: remove private acceleration ioctls
...
These ioctls allow userspace to load custom programs into the ISP, which:
a) Seems dangerous
b) Cannot be used by opensource userspace since there is no FOSS code to
create such programs
b) These seem to be unused even by the Android closed source camera code
(they don't show up in a strace of the camera app)
So removing these seems be a good idea. Another reason to remove these is
that atomisp_acc_map() is the only user of the userptr functionality in
hmm_alloc(), so it gets in the way of further cleanups / simplification
of the hmm code.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-19-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:44 +01:00
Hans de Goede
5c91529456
media: atomisp: remove bogus comment above hmm_bo_allocated() prototype
...
The comment documenting hmm_bo_allocated() was copied (and not modified)
from the comment documenting hmm_bo_alloc(), so there are 2 copies
of the hmm_bo_alloc() documentation.
Remove the copy of the comment above the hmm_bo_allocated() prototype.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-18-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:42 +01:00
Hans de Goede
b03d581b45
media: atomisp: removed unused hmm_bo_get_page_info() function
...
hmm_bo_get_page_info() is not used anywhere, remove it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-17-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:41 +01:00
Hans de Goede
2c9974955f
media: atomisp: drop hmm_page_type
...
Since the hmm-pool code has been removed this now always gets set
to HMM_PAGE_TYPE_GENERAL, so just remove it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-16-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:40 +01:00
Hans de Goede
4be4504e9d
media: atomisp: remove unused attribute argument from ia_css_frame_map()
...
ia_css_frame_map() has only one caller which passes a hardcoded 0
for the attribute argument, drop it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-15-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:39 +01:00
Hans de Goede
c0039ef3dc
media: atomisp: remove pool related kernel cmdline options
...
Since we have removed the hmm pools these are completely meaningless now.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-14-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:38 +01:00
Hans de Goede
454da4d2a4
media: atomisp: remove hmm_mem_stats
...
Without pool support the (optional) debug logging done by these is
not really meaningful, drop it all.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-13-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:37 +01:00
Hans de Goede
c35f36b7c1
media: atomisp: remove hmm pool code
...
Since we never register any pools, this is all dead code,
remove it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-12-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:35 +01:00
Hans de Goede
b50b217fe2
media: atomisp: remove dynamic and reserved pool code
...
There are no callers of this code atm; and looking at the atomisp
memory-management code if anything we want to make it simpler and
not re-introduce use of these pools, so remove the pool code.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-11-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:33 +01:00
Hans de Goede
ad4c63c3ba
media: atomisp: remove hmm_pool_[un]register()
...
These are no-ops, so lets remove them.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-10-hdegoede@redhat.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:31 +01:00
Hans de Goede
ca1ce57ae7
media: atomisp: drop ATOMISP_MAP_FLAG_CONTIGUOUS
...
Drop the ATOMISP_MAP_FLAG_CONTIGUOUS hmm_alloc flag. After the contiguous
flag removal done in previous patches in this series it is never set.
And hmm_alloc already did a WARN_ON on the flag and otherwise ignored it,
proving that contiguous support was already never used.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-9-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:30 +01:00
Hans de Goede
f94059f86e
media: atomisp: drop contiguous flag from struct ia_css_frame
...
Drop the contiguous flag from struct ia_css_frame, it is always false /
not used.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-8-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:22:29 +01:00
Hans de Goede
1282033fe0
media: atomisp: drop IA_CSS_FRAME_FORMAT_MIPI support from ia_css_frame_init_planes()
...
Nothing ever sets the format to IA_CSS_FRAME_FORMAT_MIPI and
frame_init_mipi_plane() is the only code-path which ever sets
frame->contiguous to true.
Drop A_CSS_FRAME_FORMAT_MIPI support from ia_css_frame_init_planes()
as part of the removal of contiguous alloc support from the frame code.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-7-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:19:52 +01:00
Hans de Goede
dc65da4fb1
media: atomisp: drop contiguous argument from frame_create()
...
Drop the contiguous argument from frame_create()
all callers always passes false.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-6-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:18:17 +01:00
Hans de Goede
1c0d8f813f
media: atomisp: drop contiguous argument from frame_allocate_with_data()
...
Drop the contiguous argument from frame_allocate_with_data()
its only caller always passes false.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-5-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:12:20 +01:00
Hans de Goede
001b48b60b
media: atomisp: drop contiguous argument from ia_css_frame_allocate_with_buffer_size()
...
Drop the contiguous argument from ia_css_frame_allocate_with_buffer_size()
its only caller always passes false.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-4-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:11:06 +01:00
Hans de Goede
7c6b6a5bbd
media: atomisp: remove unused ia_css_frame_allocate_contiguous*() functions
...
ia_css_frame_allocate_contiguous() and
ia_css_frame_allocate_contiguous_from_info() are not used anywhere,
remove them.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-3-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:10:46 +01:00
Hans de Goede
f2ce294155
media: atomisp: remove the unused RAW_BUF_STRIDE macro
...
I noticed that the RAW_BUF_STRIDE macro is using the removed
SH_CSS_BINARY_ID_POST_ISP define, which should be a problem except that
the RAW_BUF_STRIDE macro itself is not used at all, remove it.
Link: https://lore.kernel.org/linux-media/20220615205037.16549-2-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:10:27 +01:00
Krzysztof Hałasa
852b50aeed
media: On Semi AR0521 sensor driver
...
The driver has been extensively tested in an i.MX6-based system.
AR0521 is a 5.7 mm x 4.3 mm, 5 MPix RGGB MIPI/HiSPi BSI CMOS sensor
from On Semiconductor.
Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl >
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 16:03:20 +01:00
Krzysztof Hałasa
1313594c5e
media: dt-bindings: Add bindings for On Semi AR0521 camera sensor
...
This patch documents DT bindings for the AR0521 camera sensor driver.
[Sakari Ailus: Reworked subject and commit message a little]
Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 15:42:08 +01:00
Jacopo Mondi
935fbc9441
media: ov5640: Move format mux config in format
...
The image format produced by the sensor is controlled by two registers,
whose values computation is open coded in ov5640_set_framefmt().
As we have a list of formats already, move the OV5640_REG_FORMAT_CONTROL00
and OV5640_REG_ISP_FORMAT_MUX_CTRL register values to the static list
of formats instead of open coding it.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 15:41:44 +01:00
Jacopo Mondi
a89f14bbcf
media: ov5640: Split DVP and CSI-2 formats
...
The format enumeration list is shared between CSI-2 and DVP modes.
This lead to the enumeration of unsupported format variants in both
modes.
Separate the list of DVP and CSI-2 formats and create helpers to access
the correct one.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 15:41:15 +01:00
Jacopo Mondi
dd81b8ff90
media: ov5640: Adjust format to bpp in s_fmt
...
The ov5640 driver supports different sizes for different mbus_codes.
In particular:
- 8bpp modes: high resolution sizes (>= 1280x720)
- 16bpp modes: all sizes
- 24bpp modes: low resolutions sizes (< 1280x720)
Adjust the image sizes according to the above constraints.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 15:40:14 +01:00
Jacopo Mondi
7dcb3a2f1f
media: ov5640: Restrict sizes to mbus code
...
The ov5640 driver supports different sizes for different mbus_codes.
In particular:
- 8bpp modes: high resolution sizes (>= 1280x720)
- 16bpp modes: all sizes
- 24bpp modes: low resolutions sizes (< 1280x720)
Restrict the frame sizes enumerations to the above constraints.
While at it, make sure the fse->mbus_code parameter is valid, and return
-EINVAL if it's not.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 15:39:07 +01:00
Jacopo Mondi
6ac98b41b4
media: ov5640: Add BGR888 format
...
Add support for BGR888 image format.
No existing media bus codes describe exactly the way data is transferred
on the CSI-2 bus. This is not a new issue, the CSI-2 YUV422 8-bit format
is described by MEDIA_BUS_FMT_UYVY8_1X16 which is an arbitrary
convention and not an exact match. Use the MEDIA_BUS_FMT_BGR888_1X24 to
follow the same convention, based on the order in which bits are
transmitted over the CSI-2 bus when producing images in RGB24 format.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 15:37:14 +01:00
Jacopo Mondi
0a43fcd791
media: ov5640: Add RGB565_1X16 format
...
The driver already supports the 2X8_[LE|BE] variants of RGB565
formats.
As for CSI-2 the 2X8 variants do not apply, add RGB565_1X16 variant
with little-endian ordering of components as required by the CSI-2
specifications.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 15:35:18 +01:00
Jacopo Mondi
1066fc1c2a
media: ov5640: Register device properties
...
Parse the device properties and register the rotation and orientation
V4L2 controls using v4l2_ctrl_new_fwnode_properties().
Remove the open-coded parsing of the rotation property and assume the
DTS is correct is providing either <0> or <180> as possible rotations.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org >
2022-07-08 15:34:18 +01:00