ELF>(@@ HHi8H@lff.HHi8H@Hff.USHӉHi8H@;ls%JHuHrXHBPH3rH9u[]ېHtHHoPHuH/HHHH 1H[]DH򋷐H?Kff.ATUSH/LLHi8LH@Clu C`ClLHXHXH9uHHH9uD[]A\Ht{H}LgPMuL'HLHH 멐HtHmH]PHuH]HHHHH []A\1@AUATUSL'A$PHi8I$@uCltSkh[]A\A]MI|$LoPMuL/HLHH CluMtMd$Ml$PMuM,$LHLHH kh[]A\A]1vfUHSHG0󋀨#Ghu(Hi8H@ShuID$0EًA#D$h9KHi8II$@LHMt$AVuA%uaLAŅtMMtMd$EAH1L1HEeH+HeD[AZA\A]A^A_]LAAV)HcH<H}}tH}HH)H2H}H}H9EHEHULcH}AFENHIFH?HS㥛 HHH)IVMIt$AH11LHA&HEAFMIt$L}AH11MLL)H=whHEHEI$I$HULxH9Aw`H}ttIGALxH9EuA$lDHEHUHUHE1HA HEHEHEHEHEHHxHuHxLHEH}H)H=HuHxA1MtIt$AH11AMHEx H=M$@MIH#XHH IGXIFAGtIG`ID$0A#D$hI$hHHEAAu8H}LANAH4HuAv1nHuIOXLLAŅuHULeHEMKIt$SLMH1LE1MXgHUHEH)IWPH=I$`IW(IXIT$IG0Mg(HANH}HELE1HUH}AFHIFH?HS㥛 HHH)IVHEH}LLIH}H)H=vHEtMaMHuHx19LH@`AGtEDDd1E1UD}:eHeHHtHxHuډxxe I?AWHtLgDEA?t1LH1A&LH]HMLLH1AfDAWAVAUATAUSHeHHD$1HG0H$#Ghu)HD$eH+'HD[]A\A]A^A_lHtIHֹAUHHH`@0H{IHi8H@tbtWAL{1LHhHt{@AELDHHIEH$IEEt>E1DAątHtHmEEH1H1s0H{C= dev->num_crtcs)drm_WARN_ON(!list_empty(&dev->vblank_event_list))drm_WARN_ON(!list_empty(&vblank->pending_work))drm_WARN_ON(dev->max_vblank_count)drm_WARN_ON(!({ do { __attribute__((__noreturn__)) extern void __compiletime_assert_604(void) __attribute__((__error__("Unsupported access size for {READ,WRITE}_ONCE()."))); if (!((sizeof(vblank->inmodeset) == sizeof(char) || sizeof(vblank->inmodeset) == sizeof(short) || sizeof(vblank->inmodeset) == sizeof(int) || sizeof(vblank->inmodeset) == sizeof(long)) || sizeof(vblank->inmodeset) == sizeof(long long))) __compiletime_assert_604(); } while (0); (*(const volatile typeof( _Generic((vblank->inmodeset), char: (char)0, unsigned char: (unsigned char)0, signed char: (signed char)0, unsigned short: (unsigned short)0, signed short: (signed short)0, unsigned int: (unsigned int)0, signed int: (signed int)0, unsigned long: (unsigned long)0, signed long: (signed long)0, unsigned long long: (unsigned long long)0, signed long long: (signed long long)0, default: (vblank->inmodeset))) *)&(vblank->inmodeset)); }))drm_WARN_ON_ONCE(drm_max_vblank_count(dev, pipe) != 0)drm_WARN_ON_ONCE(!crtc->funcs->get_vblank_timestamp)drm_WARN_ON_ONCE(vblank->inmodeset)drm_WARN_ON_ONCE(!vblank->config.disable_immediate)%s %s: [drm] Cannot compute missed vblanks without frame duration missed %d vblanks in %lld ns, frame duration=%d ns, hw_diff=%d drm_WARN_ON(({ do { __attribute__((__noreturn__)) extern void __compiletime_assert_523(void) __attribute__((__error__("Unsupported access size for {READ,WRITE}_ONCE()."))); if (!((sizeof(vblank->enabled) == sizeof(char) || sizeof(vblank->enabled) == sizeof(short) || sizeof(vblank->enabled) == sizeof(int) || sizeof(vblank->enabled) == sizeof(long)) || sizeof(vblank->enabled) == sizeof(long long))) __compiletime_assert_523(); } while (0); (*(const volatile typeof( _Generic((vblank->enabled), char: (char)0, unsigned char: (unsigned char)0, signed char: (signed char)0, unsigned short: (unsigned short)0, signed short: (signed short)0, unsigned int: (unsigned int)0, signed int: (signed int)0, unsigned long: (unsigned long)0, signed long: (signed long)0, unsigned long long: (unsigned long long)0, signed long long: (signed long long)0, default: (vblank->enabled))) *)&(vblank->enabled)); }) && drm_core_check_feature(dev, DRIVER_MODESET))[drm] *ERROR* crtc %u: Can't calculate constants, dotclock = 0! crtc %u: hwmode: htotal %d, vtotal %d, vdisplay %d crtc %u: clock %d kHz framedur %d linedur %d crtc %u: Calculating number of vblanks. diff_ns = %lld, framedur_ns = %d) crtc %u: Redundant vblirq ignored clamping vblank bump to 1 on crtc %u: diffr=%u due to pre-modeset. updating vblank count on crtc %u: current=%llu, diff=%u, hw=%u hw_last=%u drm_WARN_ON_ONCE(cur_vblank != vblank->last)enabling vblank on crtc %u, ret: %d crtc %d, vblank enabled %d, inmodeset %d drm_WARN_ON(drm_vblank_enable(dev, pipe))[drm] *ERROR* Invalid crtc %u [drm] *ERROR* Called from CRTC w/o get_scanout_position()!? crtc %u: Noop due to uninitialized mode. drm_WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev))crtc %u : scanoutpos query failed. crtc %u: Noisy timestamp %d us > %d us [%d reps]. crtc %u : v p(%d,%d)@ %lld.%06ld -> %lld.%06ld [e %d us, %d rep] %s %s: [drm] This function requires support for accurate vblank timestamps.drm_WARN_ON(atomic_read(&vblank->refcount) == 0)%s %s: [drm] vblank not available on crtc %i, ret=%i %s %s: [drm] vblank wait timed out on crtc %i Sending premature vblank event on disable: wanted %llu, current %llu drm_WARN_ON_ONCE(!drm_dev_has_vblank(dev))vblank event on %llu, current %llu Unsupported type value 0x%x, supported mask 0x%x crtc %d failed to acquire vblank counter, %d event on vblank count %llu, current %llu, crtc %u waiting on vblank count %llu, crtc %u crtc %d returning %u to client crtc %d vblank wait interrupted by signal %s %s: [drm] %sdrivers/gpu/drm/drm_vblank.cdrm_WARN_ON(!crtc)&vblank->queuedrm_vblank_init_releasedisabling vblank on crtc %u       > ? @   o j |      P       C [  drm.parm=timestamp_precision_usec:Max. error on timestamps [usecs]drm.parm=vblankoffdelay:Delay until vblank irq auto-disable [msecs] (0: never disable, <0: disable immediately)drm.parmtype=timestamp_precision_usec:intdrm.parmtype=vblankoffdelay:intdrm.timestamp_precision_usecdrm.vblankoffdelayGCC: (Debian 12.2.0-14) 12.2.0GNU3b 0@P`Dp*Uy 40b@P`p  :O`~0 |C  Ww2CPUiz4d (0 8:@pHPX`;hrpx b   ( X    C Cp9 *e (   ((   I    C  C0r @p$ TpP |T:p e0  2#0#DrNP]m%{ `)H [ m {       %3J\es#CRcpg$@@O` ^fp%=])*s04IZm`2 drm_vblank.c__export_symbol_drm_crtc_vblank_crtc__export_symbol_drm_crtc_accurate_vblank_count__export_symbol_drm_vblank_init__export_symbol_drm_dev_has_vblank__export_symbol_drm_crtc_vblank_waitqueue__export_symbol_drm_calc_timestamping_constants__export_symbol_drm_crtc_vblank_helper_get_vblank_timestamp_internal__export_symbol_drm_crtc_vblank_helper_get_vblank_timestamp__export_symbol_drm_crtc_vblank_count__export_symbol_drm_crtc_vblank_count_and_time__export_symbol_drm_crtc_next_vblank_start__export_symbol_drm_crtc_arm_vblank_event__export_symbol_drm_crtc_send_vblank_event__export_symbol_drm_crtc_vblank_get__export_symbol_drm_crtc_vblank_put__export_symbol_drm_wait_one_vblank__export_symbol_drm_crtc_wait_one_vblank__export_symbol_drm_crtc_vblank_off__export_symbol_drm_crtc_vblank_reset__export_symbol_drm_crtc_set_max_vblank_count__export_symbol_drm_crtc_vblank_on_config__export_symbol_drm_crtc_vblank_on__export_symbol_drm_crtc_vblank_restore__export_symbol_drm_handle_vblank__export_symbol_drm_crtc_handle_vblankdrm_vblank_count_and_time__get_vblank_counter__already_done.9drm_crtc_get_last_vbltimestampdrm_timestamp_precision__already_done.4__already_done.3__already_done.2__already_done.5drm_vblank_init_releasestore_vblank__key.0vblank_disable_fndrm_update_vblank_count__already_done.8drm_vblank_enabledrm_vblank_offdelay__already_done.6__already_done.7__already_done.1__UNIQUE_ID___addressable_drm_crtc_handle_vblank656__UNIQUE_ID___addressable_drm_handle_vblank655__UNIQUE_ID___addressable_drm_crtc_vblank_restore642__UNIQUE_ID___addressable_drm_crtc_vblank_on619__UNIQUE_ID___addressable_drm_crtc_vblank_on_config618__UNIQUE_ID___addressable_drm_crtc_set_max_vblank_count609__UNIQUE_ID___addressable_drm_crtc_vblank_reset599__UNIQUE_ID___addressable_drm_crtc_vblank_off590__UNIQUE_ID___addressable_drm_crtc_wait_one_vblank585__UNIQUE_ID___addressable_drm_wait_one_vblank584__UNIQUE_ID___addressable_drm_crtc_vblank_put571__UNIQUE_ID___addressable_drm_crtc_vblank_get562__UNIQUE_ID___addressable_drm_crtc_send_vblank_event551__UNIQUE_ID___addressable_drm_crtc_arm_vblank_event550__UNIQUE_ID___addressable_drm_crtc_next_vblank_start548__UNIQUE_ID___addressable_drm_crtc_vblank_count_and_time547__UNIQUE_ID___addressable_drm_crtc_vblank_count542__UNIQUE_ID___addressable_drm_crtc_vblank_helper_get_vblank_timestamp541__UNIQUE_ID___addressable_drm_crtc_vblank_helper_get_vblank_timestamp_internal540__UNIQUE_ID___addressable_drm_calc_timestamping_constants535__UNIQUE_ID___addressable_drm_crtc_vblank_waitqueue530__UNIQUE_ID___addressable_drm_dev_has_vblank529__UNIQUE_ID___addressable_drm_vblank_init528__UNIQUE_ID___addressable_drm_crtc_accurate_vblank_count517__UNIQUE_ID___addressable_drm_crtc_vblank_crtc495__UNIQUE_ID_timestamp_precision_usec494__UNIQUE_ID_vblankoffdelay493__UNIQUE_ID_timestamp_precision_usectype492__param_timestamp_precision_usec__param_str_timestamp_precision_usec__UNIQUE_ID_vblankoffdelaytype491__param_vblankoffdelay__param_str_vblankoffdelay__UNIQUE_ID___addressable___SCK__tp_func_drm_vblank_event_delivered486.10__UNIQUE_ID___addressable___SCK__tp_func_drm_vblank_event_queued478.11__UNIQUE_ID___addressable___SCK__tp_func_drm_vblank_event470.12__UNIQUE_ID___addressable___SCK__might_resched15.13__UNIQUE_ID___addressable___SCK__preempt_schedule_notrace13.14.LC2__x86_return_thunkdev_driver_string__warn_printk_raw_spin_lock_irq_raw_spin_unlock_irqdrm_crtc_from_index__x86_indirect_thunk_rax__ref_stack_chk_guard__x86_indirect_thunk_r8ktime_get__stack_chk_fail__drm_debug__drm_dev_dbgkthread_destroy_workertimer_delete_sync_dev_errdrm_mode_copy__tracepoint_drm_vblank_event_delivereddrm_send_event_timestamp_lockedns_to_timespec64cpu_number__cpu_online_mask__preempt_count__SCT__tp_func_drm_vblank_event_delivered__SCT__preempt_schedule_notrace_raw_spin_lock_raw_spin_unlockdrmm_kmallocdrm_vblank_worker_init__init_waitqueue_headinit_timer_key__drmm_add_action_or_reset__x86_indirect_thunk_r13drm_vblank_count_raw_spin_lock_irqsave_raw_spin_unlock_irqrestoredrm_vblank_disable_and_savedrm_vblank_getdrm_vblank_putjiffiesmod_timer__SCT__might_reschedinit_wait_entryprepare_to_wait_eventschedule_timeoutfinish_wait__wake_updrm_vblank_cancel_pending_workskthread_flush_worker__tracepoint_drm_vblank_eventdrm_handle_vblank_works__SCT__tp_func_drm_vblank_eventdrm_wait_vblank_ioctldrm_lease_heldkmalloc_caches__kmalloc_cache_noprofkfreedrm_event_reserve_init_locked__tracepoint_drm_vblank_event_queued__SCT__tp_func_drm_vblank_event_queueddrm_crtc_get_sequence_ioctldrm_mode_object_finddrm_modeset_lockdrm_modeset_unlockdrm_crtc_queue_sequence_ioctlparam_ops_int__SCK__tp_func_drm_vblank_event_delivered__SCK__tp_func_drm_vblank_event_queued__SCK__tp_func_drm_vblank_event__SCK__might_resched__SCK__preempt_schedule_notrace x  "yz{x ( 'yMxT `^ fyx   y7x> H Py|77x P! )yUx\ -f ny~~ ~r| h~hxo y y77x  y77x! + 3yK7X7xx  y77x  y b  x   y_ X t         = xD N V y    % 46 = H  ~ ~  A      @, 1C OJ 0 R~ |~  ~<  K~ X    X   ';7H7gxn  x y    6 H |}MxT -^ fy H  H ~Kzl p {|R~x  y~ x   &y:\~gr~~  .v~ 0 77.x5 ` ? Gya  i  *  2N  Zkx  yFXs77x @ y'_1|Q}tx{ - y g x  y x   y= xD  N V y ~  !!!!~y!!!!!!!"x" &"yN"xU" _" g"yy"~"x"  "y"P#~#z## p ## $($$ 0$$$%{%~s%xz% % %y%~%%~3&@&j&&&|F' R''''(~7(E(S([(d(k(4((((7(7(x( x( (y)x!) +) 3)yG))~t** **~*V++ +++ p++,G,,,,-?- H-l-4y--z-{-2.e. 8r..{.A/N///|///040,070f0 m0000~1~V11112 "232K22~2~2%34=3V3t3 334z=44{4{444,wPwww7wwtwwcww}www-wm  w ` cwrwwwp{wwwwwwMwww% wa w"w:%%w/(w*w51w2w^_(`8aHbXchdxefghijklmno(p8qHrXshtxuv0` @(p08p@HPX ` hp p` x p @@p `0 Pp  " # %(P)0)80@P2&') *(0+8,@.H/P2Xj`khmpnxTUWX-.01:rsuvN (08@HPX`hp7x8:;]q     & Z ([ 0] 8^ @d HMPX`hp/x2jkmn*+-.KLNO  ( 0 8@HPX`hQpWxZ    ! " ) Z [ ] ^ ! *"(+"0-"8."@4"Hk"Pl"Xn"`o"h"p"x"""Y%%%%%(((((()7)8):);)'] ,]k]$(]0U4]<.@]HsL]TX]`d]l8p]x|]]]] ][ ]e ]]0]k]]+]L ] ] $],R0]8X<]DH]P T]\ `]h[ l]t+"x]l"]"]%](](]8)]M  tE%   'P( z.$/( vuts r(q0p8o@nHmPlXk`jhiphxgfedcba`_^T (T 8H.symtab.strtab.shstrtab.rela.text.data.bss.rela.export_symbol.rela__patchable_function_entries.rodata.str1.8.rodata.str1.1.rela.discard.annotate_insn.rela__bug_table.rela.smp_locks.rela__jump_table.rela.discard.addressable.data..once.modinfo.rela__param.rodata.comment.note.GNU-stack.note.gnu.property @5@w(&D5,L56P51@hXJ6HE@g2(8v2 HH@0 M@ȵ  hO @O0@O@P PQP@PR303R !SR1XR xR^ Hd?D