Lines Matching refs:closure
3066 typedef void detailed_cb(const struct detailed_timing *timing, void *closure);
3069 cea_for_each_detailed_block(const u8 *ext, detailed_cb *cb, void *closure) in cea_for_each_detailed_block() argument
3080 cb((const struct detailed_timing *)(det_base + 18 * i), closure); in cea_for_each_detailed_block()
3084 vtb_for_each_detailed_block(const u8 *ext, detailed_cb *cb, void *closure) in vtb_for_each_detailed_block() argument
3093 cb((const struct detailed_timing *)(det_base + 18 * i), closure); in vtb_for_each_detailed_block()
3097 detailed_cb *cb, void *closure) in drm_for_each_detailed_block() argument
3107 cb(&drm_edid->edid->detailed_timings[i], closure); in drm_for_each_detailed_block()
3113 cea_for_each_detailed_block(ext, cb, closure); in drm_for_each_detailed_block()
3116 vtb_for_each_detailed_block(ext, cb, closure); in drm_for_each_detailed_block()
3806 struct detailed_mode_closure *closure = c; in do_inferred_modes() local
3813 closure->modes += drm_dmt_modes_for_range(closure->connector, in do_inferred_modes()
3814 closure->drm_edid, in do_inferred_modes()
3817 if (closure->drm_edid->edid->revision < 2) in do_inferred_modes()
3822 closure->modes += drm_gtf2_modes_for_range(closure->connector, in do_inferred_modes()
3823 closure->drm_edid, in do_inferred_modes()
3827 closure->modes += drm_gtf_modes_for_range(closure->connector, in do_inferred_modes()
3828 closure->drm_edid, in do_inferred_modes()
3832 if (closure->drm_edid->edid->revision < 4) in do_inferred_modes()
3835 closure->modes += drm_cvt_modes_for_range(closure->connector, in do_inferred_modes()
3836 closure->drm_edid, in do_inferred_modes()
3848 struct detailed_mode_closure closure = { in add_inferred_modes() local
3854 drm_for_each_detailed_block(drm_edid, do_inferred_modes, &closure); in add_inferred_modes()
3856 return closure.modes; in add_inferred_modes()
3891 struct detailed_mode_closure *closure = c; in do_established_modes() local
3896 closure->modes += drm_est3_modes(closure->connector, timing); in do_established_modes()
3913 struct detailed_mode_closure closure = { in add_established_modes() local
3932 &closure); in add_established_modes()
3934 return modes + closure.modes; in add_established_modes()
3940 struct detailed_mode_closure *closure = c; in do_standard_modes() local
3942 struct drm_connector *connector = closure->connector; in do_standard_modes()
3952 newmode = drm_mode_std(connector, closure->drm_edid, std); in do_standard_modes()
3955 closure->modes++; in do_standard_modes()
3969 struct detailed_mode_closure closure = { in add_standard_modes() local
3987 &closure); in add_standard_modes()
3991 return modes + closure.modes; in add_standard_modes()
4049 struct detailed_mode_closure *closure = c; in do_cvt_mode() local
4054 closure->modes += drm_cvt_modes(closure->connector, timing); in do_cvt_mode()
4060 struct detailed_mode_closure closure = { in add_cvt_modes() local
4066 drm_for_each_detailed_block(drm_edid, do_cvt_mode, &closure); in add_cvt_modes()
4070 return closure.modes; in add_cvt_modes()
4079 struct detailed_mode_closure *closure = c; in do_detailed_mode() local
4085 newmode = drm_mode_detailed(closure->connector, in do_detailed_mode()
4086 closure->drm_edid, timing); in do_detailed_mode()
4090 if (closure->preferred) in do_detailed_mode()
4098 fixup_detailed_cea_mode_clock(closure->connector, newmode); in do_detailed_mode()
4100 drm_mode_probed_add(closure->connector, newmode); in do_detailed_mode()
4101 closure->modes++; in do_detailed_mode()
4102 closure->preferred = false; in do_detailed_mode()
4113 struct detailed_mode_closure closure = { in add_detailed_modes() local
4119 closure.preferred = true; /* first detailed timing is always preferred */ in add_detailed_modes()
4121 closure.preferred = in add_detailed_modes()
4124 drm_for_each_detailed_block(drm_edid, do_detailed_mode, &closure); in add_detailed_modes()
4126 return closure.modes; in add_detailed_modes()
5490 struct drm_edid_match_closure *closure = data; in match_identity() local
5492 const char *name = closure->ident->name; in match_identity()
5513 closure->matched = true; in match_identity()
5533 struct drm_edid_match_closure closure = { in drm_edid_match() local
5538 drm_for_each_detailed_block(drm_edid, match_identity, &closure); in drm_edid_match()
5540 return closure.matched; in drm_edid_match()
6449 struct detailed_mode_closure *closure = c; in get_monitor_range() local
6450 struct drm_display_info *info = &closure->connector->display_info; in get_monitor_range()
6454 const struct edid *edid = closure->drm_edid->edid; in get_monitor_range()
6486 struct detailed_mode_closure closure = { in drm_get_monitor_range() local
6497 drm_for_each_detailed_block(drm_edid, get_monitor_range, &closure); in drm_get_monitor_range()