mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
media: rkisp1: Add features mask to extensible block handlers
Future ISP parameter blocks for i.MX8MP-specific features will not support on Rockchip platforms as they lack the corresponding hardware. Introduce a features mask in the extensible block handlers to indicate which device features a block require, and ignore blocks that require unavailable features. Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
d2db5694fd
commit
f146397273
|
|
@ -1856,6 +1856,7 @@ static const struct rkisp1_ext_params_handler {
|
|||
size_t size;
|
||||
rkisp1_block_handler handler;
|
||||
unsigned int group;
|
||||
unsigned int features;
|
||||
} rkisp1_ext_params_handlers[] = {
|
||||
[RKISP1_EXT_PARAMS_BLOCK_TYPE_BLS] = {
|
||||
.size = sizeof(struct rkisp1_ext_params_bls_config),
|
||||
|
|
@ -1962,11 +1963,18 @@ static void rkisp1_ext_params_config(struct rkisp1_params *params,
|
|||
&cfg->data[block_offset];
|
||||
block_offset += block->header.size;
|
||||
|
||||
/* Make sure the block is in the list of groups to configure. */
|
||||
/*
|
||||
* Make sure the block is supported by the platform and in the
|
||||
* list of groups to configure.
|
||||
*/
|
||||
block_handler = &rkisp1_ext_params_handlers[block->header.type];
|
||||
if (!(block_handler->group & block_group_mask))
|
||||
continue;
|
||||
|
||||
if ((params->rkisp1->info->features & block_handler->features) !=
|
||||
block_handler->features)
|
||||
continue;
|
||||
|
||||
block_handler->handler(params, block);
|
||||
|
||||
if (block->header.flags & RKISP1_EXT_PARAMS_FL_BLOCK_DISABLE)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user