From 849da4cc007b92eeecf440d10738ee74b6e762a1 Mon Sep 17 00:00:00 2001 From: Dylan Corrales Date: Thu, 5 Nov 2026 18:37:38 -0500 Subject: [PATCH] ambarella: s3l: enable CONFIG_LBDAF in s3l.generic.config The prebuilt S3L osdrv modules (ambarella-osdrv-s3l: iav.ko, dsp.ko, ...) were built against Ambarella's ambarella_s3l_defconfig, which has CONFIG_LBDAF=y. s3l.generic.config had it disabled. LBDAF makes blkcnt_t 64-bit, which grows struct inode and moves the fields after i_blocks: inode.i_cdev is at 0x110 with LBDAF and 0x108 without. iav.ko is compiled for the LBDAF layout, so with the generic config every ioctl on /dev/iav oopses on a NULL file->private_data. With CONFIG_LBDAF=y the offsets match and the IAV stack (DSP boot, VIN, H.264 encode) works on an S3L board. --- br-ext-chip-ambarella/board/s3l/s3l.generic.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/br-ext-chip-ambarella/board/s3l/s3l.generic.config b/br-ext-chip-ambarella/board/s3l/s3l.generic.config index a97fbd3600..542b106c37 100644 --- a/br-ext-chip-ambarella/board/s3l/s3l.generic.config +++ b/br-ext-chip-ambarella/board/s3l/s3l.generic.config @@ -197,7 +197,7 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SIG is not set CONFIG_BLOCK=y -# CONFIG_LBDAF is not set +CONFIG_LBDAF=y # CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSGLIB is not set # CONFIG_BLK_DEV_INTEGRITY is not set