STRUCT IPU3_UAPI_IEFD_CUX6_ED(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ipu3_uapi_iefd_cux6_ed πŸ’…

okay bestie, welcome to the Kernel API Manual ✨ β€” this is the page for struct ipu3_uapi_iefd_cux6_ed, and yes the name is a whole keyboard smash but we're gonna get through it together 🫢


🌸 NAME 🌸

struct ipu3_uapi_iefd_cux6_ed β€” the struct that calculates the power of the non-directed sharpening element, aka Config Unit 6 for edge detail (ED) πŸ’… no cap, that's literally its job.


⭐ SYNOPSIS ⭐

here's the whole layout, character for character, do not touch, do not "clean up", just vibe with it πŸŽ€

struct ipu3_uapi_iefd_cux6_ed {
    __u32 x0:9;
    __u32 x1:9;
    __u32 x2:9;
    __u32 reserved0:5;
    __u32 x3:9;
    __u32 x4:9;
    __u32 x5:9;
    __u32 reserved1:5;
    __u32 a01:9;
    __u32 a12:9;
    __u32 a23:9;
    __u32 reserved2:5;
    __u32 a34:9;
    __u32 a45:9;
    __u32 reserved3:14;
    __u32 b01:9;
    __u32 b12:9;
    __u32 b23:9;
    __u32 reserved4:5;
    __u32 b34:9;
    __u32 b45:9;
    __u32 reserved5:14;
 };

like, it's giving bitfield couture πŸ’– every one of these is a __u32 with a little slice carved out β€” the number after the colon is how many bits it gets. the reserved ones are the padding besties holding the seats so everything lines up 😌


πŸŽ€ Members πŸŽ€

🌈 the X squad (points 0–5)

  • x0 β€” X coordinate of point 0, u9.0, default 0. πŸ¦‹
  • x1 β€” X coordinate of point 1, u9.0, default 0. πŸ¦‹
  • x2 β€” X coordinate of point 2, u9.0, default 0. πŸ¦‹
  • reserved0 β€” reserved. (it's just… there. minding its business πŸ™ˆ)
  • x3 β€” X coordinate of point 3, u9.0, default 0. πŸ¦‹
  • x4 β€” X coordinate of point 4, u9.0, default 0. πŸ¦‹
  • x5 β€” X coordinate of point 5, u9.0, default 0. πŸ¦‹
  • reserved1 β€” reserved. (sequel to reserved0, same energy πŸ’€)
note the type notation bestie: u9.0 = unsigned, 9 bits, zero fractional bits. the point is literally that pretty πŸ’…

πŸ’œ the A slopes

  • a01 β€” slope A points 01, s4.4, default 0. ✨
  • a12 β€” slope A points 12, s4.4, default 0. ✨
  • a23 β€” slope A points 23, s4.4, default 0. ✨
  • reserved2 β€” reserved. (the intermission πŸŽ€)
  • a34 β€” slope A points 34, s4.4, default 0. ✨
  • a45 β€” slope A points 45, s4.4, default 0. ✨
  • reserved3 β€” reserved. (this one's the big one, 14 whole bits of nothing, iconic honestly πŸ‘‘)
s4.4 = signed, 4 bits of integer, 4 bits of fraction. so she's got range, but she's also got a sign. respect 🌸

πŸ¦‹ the B slopes

  • b01 β€” slope B points 01, s4.4, default 0. πŸ’œ
  • b12 β€” slope B points 12, s4.4, default 0. πŸ’œ
  • b23 β€” slope B points 23, s4.4, default 0. πŸ’œ
  • reserved4 β€” reserved. (the filler ep of the season πŸ™ˆ)
  • b34 β€” slope B points 34, s4.4, default 0. πŸ’œ
  • b45 β€” slope B points 45, s4.4, default 0. πŸ’œ
  • reserved5 β€” reserved. 🫢

so to recap the whole vibe: six X coords, five A slopes, five B slopes, and a whole supporting cast of reserved bitfields doing structural work so the struct stays 32-bit aligned-ish and gorgeous 😌✨ every single value defaults to 0, so a zeroed-out struct is a fully valid starting point fr fr.


πŸ’– SEE ALSO πŸ’–

the lore is deep, bestie β€” this struct does not exist alone. here's the whole friend group πŸ‘‘

  • Kernel file ./drivers/staging/media/ipu3/include/uapi/intel-ipu3.h πŸ“
  • struct ipu3_uapi_grid_config(9)
  • struct ipu3_uapi_awb_set_item(9)
  • struct ipu3_uapi_awb_raw_buffer(9)
  • struct ipu3_uapi_awb_config_s(9)
  • struct ipu3_uapi_awb_config(9)
  • struct ipu3_uapi_ae_raw_buffer(9)
  • struct ipu3_uapi_ae_raw_buffer_aligned(9)
  • struct ipu3_uapi_ae_grid_config(9)
  • struct ipu3_uapi_ae_weight_elem(9)
  • struct ipu3_uapi_ae_ccm(9)
  • struct ipu3_uapi_ae_config(9)
  • struct ipu3_uapi_af_filter_config(9)
  • struct ipu3_uapi_af_raw_buffer(9)
  • struct ipu3_uapi_af_config_s(9)
  • struct ipu3_uapi_awb_fr_raw_buffer(9)
  • struct ipu3_uapi_awb_fr_config_s(9)
  • struct ipu3_uapi_4a_config(9)
  • struct ipu3_uapi_bubble_info(9)
  • struct ipu3_uapi_ff_status(9)
  • struct ipu3_uapi_stats_3a(9)
  • struct ipu3_uapi_bnr_static_config_wb_gains_config(9)
  • struct ipu3_uapi_bnr_static_config_wb_gains_thr_config(9)
  • struct ipu3_uapi_bnr_static_config_thr_coeffs_config(9)
  • struct ipu3_uapi_bnr_static_config_thr_ctrl_shd_config(9)
  • struct ipu3_uapi_bnr_static_config_opt_center_config(9)
  • struct ipu3_uapi_bnr_static_config_lut_config(9)
  • struct ipu3_uapi_bnr_static_config_bp_ctrl_config(9)
  • struct ipu3_uapi_bnr_static_config_dn_detect_ctrl_config(9)
  • struct ipu3_uapi_bnr_static_config_opt_center_sqr_config(9)
  • struct ipu3_uapi_bnr_static_config(9)
  • struct ipu3_uapi_bnr_static_config_green_disparity(9)
  • struct ipu3_uapi_dm_config(9)
  • struct ipu3_uapi_ccm_mat_config(9)
  • struct ipu3_uapi_gamma_corr_ctrl(9)
  • struct ipu3_uapi_gamma_corr_lut(9)
  • struct ipu3_uapi_gamma_config(9)
  • struct ipu3_uapi_csc_mat_config(9)
  • struct ipu3_uapi_cds_params(9)
  • struct ipu3_uapi_shd_grid_config(9)
  • struct ipu3_uapi_shd_general_config(9)
  • struct ipu3_uapi_shd_black_level_config(9)
  • struct ipu3_uapi_shd_config_static(9)
  • struct ipu3_uapi_shd_lut(9)
  • struct ipu3_uapi_shd_config(9)
  • struct ipu3_uapi_iefd_cux2(9)
  • struct ipu3_uapi_iefd_cux2_1(9)
  • struct ipu3_uapi_iefd_cux4(9)
  • struct ipu3_uapi_iefd_cux6_rad(9)
  • struct ipu3_uapi_yuvp1_iefd_cfg_units(9)
  • struct ipu3_uapi_yuvp1_iefd_config_s(9)
  • struct ipu3_uapi_yuvp1_iefd_control(9)
  • struct ipu3_uapi_sharp_cfg(9)
  • struct ipu3_uapi_far_w(9)
  • struct ipu3_uapi_unsharp_cfg(9)
  • struct ipu3_uapi_yuvp1_iefd_shrp_cfg(9)
  • struct ipu3_uapi_unsharp_coef0(9)
  • struct ipu3_uapi_unsharp_coef1(9)
  • struct ipu3_uapi_yuvp1_iefd_unshrp_cfg(9)
  • struct ipu3_uapi_radial_reset_xy(9)
  • struct ipu3_uapi_radial_reset_x2(9)
  • struct ipu3_uapi_radial_reset_y2(9)
  • struct ipu3_uapi_radial_cfg(9)
  • struct ipu3_uapi_rad_far_w(9)
  • struct ipu3_uapi_cu_cfg0(9)
  • struct ipu3_uapi_cu_cfg1(9)
  • struct ipu3_uapi_yuvp1_iefd_rad_cfg(9)
  • struct ipu3_uapi_vss_lut_x(9)
  • struct ipu3_uapi_vss_lut_y(9)
  • struct ipu3_uapi_yuvp1_iefd_vssnlm_cfg(9)
  • struct ipu3_uapi_yuvp1_iefd_config(9)
  • struct ipu3_uapi_yuvp1_yds_config(9)
  • struct ipu3_uapi_yuvp1_chnr_enable_config(9)
  • struct ipu3_uapi_yuvp1_chnr_coring_config(9)
  • struct ipu3_uapi_yuvp1_chnr_sense_gain_config(9)
  • struct ipu3_uapi_yuvp1_chnr_iir_fir_config(9)
  • struct ipu3_uapi_yuvp1_chnr_config(9)
  • struct ipu3_uapi_yuvp1_y_ee_nr_lpf_config(9)
  • struct ipu3_uapi_yuvp1_y_ee_nr_sense_config(9)
  • struct ipu3_uapi_yuvp1_y_ee_nr_gain_config(9)
  • struct ipu3_uapi_yuvp1_y_ee_nr_clip_config(9)
  • struct ipu3_uapi_yuvp1_y_ee_nr_frng_config(9)
  • struct ipu3_uapi_yuvp1_y_ee_nr_diag_config(9)
  • struct ipu3_uapi_yuvp1_y_ee_nr_fc_coring_config(9)
  • struct ipu3_uapi_yuvp1_y_ee_nr_config(9)
  • struct ipu3_uapi_yuvp2_tcc_gen_control_static_config(9)
  • struct ipu3_uapi_yuvp2_tcc_macc_elem_static_config(9)
  • struct ipu3_uapi_yuvp2_tcc_macc_table_static_config(9)
  • struct ipu3_uapi_yuvp2_tcc_inv_y_lut_static_config(9)
  • struct ipu3_uapi_yuvp2_tcc_gain_pcwl_lut_static_config(9)
  • struct ipu3_uapi_yuvp2_tcc_r_sqr_lut_static_config(9)
  • struct ipu3_uapi_yuvp2_tcc_static_config(9)
  • struct ipu3_uapi_anr_transform_config(9)
  • struct ipu3_uapi_anr_stitch_pyramid(9)
  • struct ipu3_uapi_anr_stitch_config(9)
  • struct ipu3_uapi_anr_config(9)
  • struct ipu3_uapi_acc_param(9)
  • struct ipu3_uapi_isp_lin_vmem_params(9)
  • struct ipu3_uapi_isp_tnr3_vmem_params(9)
  • struct ipu3_uapi_isp_tnr3_params(9)
  • struct ipu3_uapi_isp_xnr3_vmem_params(9)
  • struct ipu3_uapi_xnr3_alpha_params(9)
  • struct ipu3_uapi_xnr3_coring_params(9)
  • struct ipu3_uapi_xnr3_blending_params(9)
  • struct ipu3_uapi_isp_xnr3_params(9)
  • struct ipu3_uapi_obgrid_param(9)
  • struct ipu3_uapi_flags(9)
  • struct ipu3_uapi_params(9)

like, that's the entire IPU3 extended family reunion and you're invited πŸŽ‰ iykyk.


🌟 bye bestie 🌟

that's the whole page! source/version line says ./drivers/staging/media/ipu3/i... and the date on it is October 2026 β€” so when you're reading this in the future, hi, ily, go read intel-ipu3.h πŸ’–

now go set some slopes, hydrate, and slay πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from