STRUCT MALI_C55_PARAMS_AWB_GAINS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, gather round β€” struct mali_c55_params_awb_gains is the gain settings for auto white balance struct, from the Kernel API Manual, section 9. yes, section 9. we're in the deep lore now. πŸŽ€


✨ SYNOPSIS ✨

struct mali_c55_params_awb_gains {
    struct v4l2_isp_params_block_header header;
    __u16 gain00;
    __u16 gain01;
    __u16 gain10;
    __u16 gain11;
 };

like, five whole members. she's compact. she's iconic. she does one job and she ate. πŸ‘‘


🫢 Members 🫢

  • header β€” the Mali-C55 parameters block header, the little ✨metadata moment✨ that rides along with the actual numbers.
  • gain00 β€” the multiplier for colour channel 00. yes that's the actual name. no we don't rename her.
  • gain01 β€” the multiplier for colour channel 01.
  • gain10 β€” the multiplier for colour channel 10.
  • gain11 β€” the multiplier for colour channel 11.

🌸 Description 🌸

so here's the vibe πŸ’– β€” this struct lets users configure the gains for auto-white balance. there are four gain settings, one for each colour channel in the bayer domain. and yeah, the names are super generic (gain00? gain01? bestie, be so serious 😭) but the association between the gain you apply and the colour channel is done automatically within the ISP, depending on the input format. so no cap, the following mapping always holds true:

gain00 = R
gain01 = Gr
gain10 = Gb
gain11 = B

the way that R/Gr/Gb/B just falls into place... slay. 🌈

all of the gains are stored in Q4.8 format πŸŽ€ (that's the fixed-point situation, don't @ me, it's just what the doc says).

and okay, important one, listen up bestie πŸ‘‚βœ¨ β€” header.type should be set to one of either MALI_C55_PARAM_BLOCK_AWB_GAINS or MALI_C55_PARAM_BLOCK_AWB_GAINS_AEXP from :c:type:mali_c55_param_block_type``. like, pick one. either one. those two. that's the list. πŸ’…

ngl the literal source text for that type reference is :c:type:mali_c55_param_block_type`` so if you see the colons in the wild, that's not a typo, that's just how she's written down. πŸ¦‹

πŸ”₯ SEE ALSO πŸ”₯

kernel file ./include/uapi/linux/media/arm/mali-c55-config.h, plus the whole extended universe, fr fr:

  • struct mali_c55_ae_1024bin_hist(9)
  • struct mali_c55_ae_5bin_hist(9)
  • struct mali_c55_awb_average_ratios(9)
  • struct mali_c55_af_statistics(9)
  • struct mali_c55_stats_buffer(9)
  • enum mali_c55_param_block_type(9)
  • struct mali_c55_params_sensor_off_preshading(9)
  • enum mali_c55_aexp_hist_tap_points(9)
  • enum mali_c55_aexp_skip_x(9)
  • enum mali_c55_aexp_skip_y(9)
  • enum mali_c55_aexp_row_column_offset(9)
  • enum mali_c55_aexp_hist_plane_mode(9)
  • struct mali_c55_params_aexp_hist(9)
  • struct mali_c55_params_aexp_weights(9)
  • struct mali_c55_params_digital_gain(9)
  • enum mali_c55_awb_stats_mode(9)
  • enum mali_c55_params_awb_tap_points(9)
  • struct mali_c55_params_awb_config(9)
  • struct mali_c55_params_mesh_shading_config(9)
  • struct mali_c55_params_mesh_shading_selection(9)
  • struct mali_c55_params_ccm(9)
  • struct mali_c55_params_gamma(9)
  • MALI_C55_PARAMS_MAX_SIZE(9)

like. the whole friend group showed up. 😭🫢


mwah πŸ’‹ this page ships from source ./include/uapi/linux/media/arm, dated October 2026, and yeah the running header up top still says struct mali_...ms_awb_gains(9) because they truncated her name and we're choosing to be normal about it. bye bestie, go set your gains πŸ’œπŸŽ€βœ¨

πŸ“¦ where this page comes from