diff --git a/arch/arm64/boot/dts/apple/t604x-j614-j616.dtsi b/arch/arm64/boot/dts/apple/t604x-j614-j616.dtsi index 27593217fd195..e8173fc6d3ec4 100644 --- a/arch/arm64/boot/dts/apple/t604x-j614-j616.dtsi +++ b/arch/arm64/boot/dts/apple/t604x-j614-j616.dtsi @@ -4483,12 +4483,12 @@ apple,output-size = <1920 1080>; apple,crop = <0 0 1920 1080>; }; - /* 1280x720 */ + /* 1280x720: the same window as 1920x1080, scaled down */ preset1 { apple,config-index = <5>; apple,input-size = <1920 2160>; apple,output-size = <1280 720>; - apple,crop = <0 0 1280 720>; + apple,crop = <0 0 1920 1080>; }; }; }; diff --git a/drivers/media/platform/apple/isp/isp-cam.c b/drivers/media/platform/apple/isp/isp-cam.c index 004a7fa13d019..41125ef37ddac 100644 --- a/drivers/media/platform/apple/isp/isp-cam.c +++ b/drivers/media/platform/apple/isp/isp-cam.c @@ -312,8 +312,10 @@ static int isp_ch_cache_sensor_configs(struct apple_isp *isp, u32 ch, u32 count) preset->input_dim.x == config->in_width && preset->input_dim.y == config->in_height && !preset->crop_offset.x && !preset->crop_offset.y && - preset->crop_size.x == preset->output_dim.x && - preset->crop_size.y == preset->output_dim.y) + /* Same aspect ratio, never enlarged: the scaler may shrink it. */ + preset->crop_size.x >= preset->output_dim.x && + preset->crop_size.x * preset->output_dim.y == + preset->crop_size.y * preset->output_dim.x) preset->p010 = preview || reported; } if (!cached->usable)