Hi Dave, Initial pull request for DC support. We've completed a substantial amount of the cleanup and restructuring in our TODO. There are a few additional cleanups that we are continuing to work on, but I don't think there are any showstoppers remaining. We've tried to maintain most of the history for bisect purposes. Harry made sure all the commits build. We've enabled DC for vega10 and Raven. Pre-vega10 parts can be enabled via module parameter (amdgpu.dc=1), but are not enabled by default at this point until we get further testing upstream. This code provides atomic modesetting support for DCE8 (CIK), DCE10 (Tonga, Fiji), DCE11 (CZ, ST, Polaris), DCE12 (vega10), and DCN1 (RV) including HDMI and DP audio, DP MST, and many other advanced display features. The following changes since commit 6f87a895709eecc1542fe947e349364ad061ac00: drm/amdgpu: clarify license in amdgpu_trace_points.c (2017-09-26 15:14:37 -0400) are available in the git repository at: git://people.freedesktop.org/~agd5f/linux drm-next-4.15-dc for you to fetch changes up to dfbf0c14dd75d3b15f65478f10f373aa83042a50: drm/amdgpu: drop experimental flag for vega10 (2017-09-26 18:17:46 -0400) ---------------------------------------------------------------- AMD\ktsao (1): drm/amd/display: remove DCN1 guard as DCN1 is already open sourced. Alex Deucher (18): drm/amd/dc/dm: remove redundant display structs drm/amd/display: Enable DCE12 support drm/amd/display: Remove DCE12 guards drm/amdgpu/soc15: enable dc on vega10 drm/amd/display: decouple per-crtc-plane model drm/amd/display: fix nullptr on vega initialization drm/amdgpu/display: Enable DCN in DC drm/amdgpu/soc15: enable DC ip module for Raven drm/amd/display/dc: Make dce110_validate_bandwidth static (v2) drm/amd/display/dc: make dce120_link_encoder_create static drm/amd/display/dm: add KV, KB, ML (v2) drm/amdgpu: add DCE8 APUs to dc_supported check drm/amd/display/dc: add DIGG for KV drm/amd/display/dc: add DCE_VERSION for DCE8 APUs drm/amd/disply/dc: add resource support for DCE8 APUs (v2) drm/amdgpu/cik: add IP modules for DC for APUs drm/amdgpu: disable DC on KB/ML for now drm/amdgpu: drop experimental flag for vega10 Amy Zhang (19): drm/amd/display: Fix Gamma Adjustment drm/amd/display: Framework for degamma and regramma through color module drm/amd/display: Output Transfer Function Regamma Refactor drm/amd/display: Set default degamma to sRGB instead of bypass drm/amd/display: HDR Enablement For Applications drm/amd/display: Fix Warnings drm/amd/display: Add bypass case for PQ transfer function drm/amd/display: DMCU PSR Refactor drm/amd/display: Simplify some DMCU waits drm/amd/display: PSR Aux Channel and Static Screen Support Fix drm/amd/display: always retrieve PSR cap drm/amd/display: Move output transfer function to stream updates drm/amd/display: Program CSC Mode For BT2020 drm/amd/display: Disable ABM when eDP is disabled drm/amd/display: Disable PSR entry abort to prevent intermittent freezes drm/amd/display: Add function to get PSR state drm/amd/display: Refactor to call set PSR wait loop in dce_dmcu instead of dce_clocks drm/amd/display: Fix DRR Enable on Desktop drm/amd/display: Re-enable Vsync Interrupts for Gradual Refresh Ramp Andrew Jiang (1): drm/amd/display: Fix context alloc failed logging Andrew Wong (3): drm/amd/display: Change locking of registers when flipping frames. drm/amd/display: Retrieve windowed fullscreen state drm/amd/display: DAL3: HDR10 Infoframe encoding Andrey Grodzovsky (81): drm/amd/display: Fix refcount over dc_sink. drm/amd/display: Add refcount debug assert drm/amd/display: Pass adev to fill_plane_attr drm/amd/display: [MST] Fix startup sequence v3. drm/amd/display: Use pflip prepare and submit parts (v2) drm/amd/display: Add interrupt entries for VBLANK isr. drm/amd/display: Register on VLBLANK ISR. drm/amd/display: Clean index in irq init loop drm/amd/display: Rename atomic_commit parameter. drm/amdgpu: Add a few members to support DAL atomic refactor. drm/amd/display: Refactor atomic commit implementation. (v2) drm/amd/display: Refactor headless to use atomic commit. (v2) drm/amd/display: Remove page_fleep_needed function. drm/amd/display: Switch to DRM helpers in s3. drm/amd/display: Fix the NULL pointer. (v2) drm/amd/display: Fix gfx9 parameters reading for DC. drm/amd/display: Unhardcode acrtc->max_cursor_{height,width} drm/amd/display: Unhardcode cursor size reported back to UMD. drm/amd/display: Set cursor pitch to cursor width (in pixels). drm/amd/display: use CRTC_VERTICAL_INTERRUPT0 as VBLANK trigger. drm/amd/display: use CRTC_VERTICAL_INTERRUPT0 as a trigger for VBLANK. drm/amd/display: Remove get_connector_for_link. drm/amd/display: Remove get_connector_for_sink. drm/amd/display: Fix i2c write flag. drm/amd/display: Refactor edid read. drm/amd/display: Fix s3 hang on resume. drm/amd/display: i2c/aux Remove link index. drm/amd/display: Fix race. drm/amd/display: Fix slow FPS. drm/amd/display: Use dc_update_surfaces_for_stream for flip. drm/amd/display: Clean unused interface. drm/amd/display: Unify loop for surface update and page flip. drm/amd/display: Add missed wait_for_prev_commits. drm/amd/display: Query for update plane type. drm/amd/display: Remove redundant condition. drm/amdgpu: Enable DRIVER_ATOMIC flag for DAL. drm/amd/display: program scaler not called. drm/amd/display: Fix handling of scaling and underscan. drm/amd/display: Clean unused interface. drm/amd/display: Get rid of get_dm_commit_action drm/amd/display: Universal cursor plane hook-up. drm/amd/display: Remove redundant member from amdgpu_plane. drm/amd/display: Get rid of seperate flip function. drm/amd/display: Handle commit plane with no FB. drm/amd/display: Create dm_plane_state. drm/amd/display: MST atomic_get_property missing. drm/amd/display: Add global lock function. drm/amd/display: Remove check update type function. drm/amd/display: Refine globallock. drm/amd/display: Global lock typos fix. drm/amd/display: Clean up unused function. drm/amd/display: Move dm_plane_state definition to DAL header. drm/amd/display: Move kms_atomic support flag to dm_early_init. drm/amd/display: Create dm_crtc_state stubs. drm/amd/display: Move dm_plane_state to DAL header. drm/amd/display: Update atomic state hooks. drm/amd/display: Remove acrtc->stream drm/amd/display: Undo dc_update_surfaces_and_stream change. drm/amd/display: Refactor dc_commit_streams drm/amd/display: Leave all validate_ctx life cycle management to DC. drm/amd/display: Clean dm_plane_state hooks. drm/amd/display: Attach surface to dm_plane_state. drm/amd/display: Introduce refcount for dc_validate_context drm/amd/display: Skip DC validation for flips and cursor. drm/amd/display: Release dm_state->context when state is cleared. drm/amd/display: dc_validate_ctx refocunt fixes. drm/amd/display: Preserve refcount for S3 case. drm/amd/display: Release cached atomic state in S3. drm/amd/display: Fix S3 gamma corruption. drm/amd/display: Move stream validations into seperate function. drm/amd/display: Use stream validation hook. drm/amd/display: Add per surface validation hook. drm/amd/display: add preferred mode from Video Format Preference Data Block drm/amd/display: Implement plane atomic_check. drm/amd/display: Add stateless surface validation to validate_resources drm/amd/display: fix >340 Mhz with deep color pipe split no display drm/amd/display: Per stream validate_context build v2. drm/amd/display: Per plane validation context build. drm/amd/display: Refactor atomic check. drm/amd/display: Use DRM provided page flip flag. drm/amd/display: Move dis_clk into dc_state. Anthony Koo (24): drm/amd/display: Add in/out transfer functions to DC drm/amd/display: Refactor to move color helper into module drm/amd/display: Refactor output transfer function to stream drm/amd/display: Refactor to move gamma correction to module drm/amd/display: Implement PQ curve based on output transfer function drm/amd/display: Fix distribution of segments for PQ drm/amd/display: Fix programming of gamma end points drm/amd/display: Fix Regamma end point drm/amd/display: Reset gamma to NULL after release drm/amd/display: Fix color module crash when hotplug monitors. drm/amd/display: Disable Modules at Runtime drm/amd/display: Fix compile warnings drm/amd/display: DMCU Compile and Load drm/amd/display: Move backlight from encoder to ABM drm/amd/display: Support ABM without PPlib drm/amd/display: Debug option to force enable ABM drm/amd/display: use signal type to decide whether to set backlight drm/amd/display: Implement support for backlight optimization drm/amd/display: Temporary disable BTR FreeSync support for now drm/amd/display: fix issues with incorrectly detecting UPDATE_TYPE_FULL drm/amd/display: add hyst frames for fixed refresh drm/amd/display: Fix MPO visual confirm drm/amd/display: Add regkey for DRR control for internal panel drm/amd/display: implement DXGI Gamma Ramps Aric Cyr (2): drm/amd/display: Implement gamma correction using input LUT drm/amd/display: Remove dc_target object Arindam Nath (3): drm/amd/display: remove DM_NOT_IMPL messages drm/amd/display: fix cursor disappearing after resume drm/amd/display: fix resume hang because of DP short pulse Ayyappa Chandolu (1): drm/amd/display: Fix ASSR enablement on DP to EDP converter Bhawanpreet Lakha (15): drm/amd/display: remove unneeded FBC hw programming code drm/amd/display: Connect DC resource to FBC compressor drm/amd/display: Set static screen register for stoney/carrizo drm/amd/display: Move and Rename "is_stream_changed()" drm/amd/display: Avoid full modeset when not required drm/amd/display: Fix comment placement for when new_stream is null drm/amd/display: change bw_dceip and bw_vbios into pointers drm/amd/display: change dcn_ip and dcn_soc into pointers drm/amd/display: Flattening core_dc to dc drm/amd/display: Disable stutter for Raven drm/amd/display: Change log level for DCN powergatting drm/amd/display: Remove unneeded code drm/amd/display: Clean up flattening core_dc to dc drm/amd/display: Rename dc resource_validate_ctx methods drm/amd/display: fix pflip irq registor for raven Charlene Liu (49): drm/amd/display: remove CV-specific timing standard drm/amd/display: Fix YCbCr pixel format shows green issue drm/amd/display: HDMI YCbCr422 12bpc pixel format issue drm/amd/display: color distortion after DPMS+ background color fix drm/amd/display: audio bug fix part 1: Add missing audio ACR drm/amd/display: fix 12bpc truncate to 10bpc drm/amd/display: fix incorrect programming for YCbCr422 and YCbCr420 drm/amd/display: HDMI deep color mode audio issue drm/amd/display: 420 clock divided by 2 twice drm/amd/display: freesync pipe split :VTotal_Min_Mask for Hflip/lock. drm/amd/display: extended the programming sequence to VFlip as well drm/amd/display: sometime VtotalMin less than VTotal (rounding issue) drm/amd/display: refclock from bios firmwareInfoTable drm/amd/display: move refclk from dc to resource_pool drm/amd/display: TPS4 logic typo fix drm/amd/display: need to handle DCE_Info table ver4.2 drm/amd/display: DP is hotplugged, HDMI with 4:2:0 corruption drm/amd/display: remove redundant check drm/amd/display: using calculated values for VReady/Startup drm/amd/display: voltage request related change drm/amd/display: adding FCLK and DPPCLK clock types drm/amd/display: use full surface update when stream is NULL drm/amd/display: USB-c DP-HDMI dongle shows garbage on Sony TV drm/amd/display: single channel bandwidth verses dual channel bandwidth drm/amd/display: Add disable_psr debug flag drm/amd/display: fix single link black screen drm/amd/display: w/a no color space info for HDMI when build AVI drm/amd/display: Enabling VSR on 4K display causes black screen drm/amd/display: change non_dpm0 state's default SR latency drm/amd/display: fix 4k at 30 with 10bit deep color and avi for BT2020 drm/amd/display: fix DVI connected to HDMI connector max tmds clock drm/amd/display: fix aviInfoFrame bar Info and add set_avMute drm/amd/display: fix YCbCr420 deep color mode not supported drm/amd/display: single PSR display not allow CSTATE sw w/a drm/amd/display: fix PHYCLK in formula. drm/amd/display: fix PHYCLK in formula. drm/amd/display: update predefined latency for Rv1_F0 drm/amd/display: fix dlg ttu calculation input drm/amd/display: fix eDP power down sequence drm/amd/display: fix eDP bootup/S4 backlight on drm/amd/display: eDP power sequence T9 fail drm/amd/display: fix not enter/exit PSR with latest driver/SBIOS drm/amd/display: write dpcd 0x600 to 2 for DP/eDP when powerdown drm/amd/display: Block 6Ghz timing if SBIOS set HDMI_6G_en to 0 drm/amd/display: add aux arbitration logic drm/amd/display: only polling VSync Phase within VSync peroroid drm/amd/display: not override the FMT setting set by VBIOS for eDP drm/amd/display: add backlight control in blankstream. drm/amd/display: fix crc_source_select use hardcoded color depth Corbin McElhanney (13): drm/amd/display: fix freesync not working on raven drm/amd/display: Allow update stream without surface drm/amd/display: Don't update surface if dimensions are 0 drm/amd/display: Add assertion for invalid surface dimensions drm/amd/display: Add clock info struct drm/amd/display: Add extra mode and clock info to DTN logs drm/amd/display: Fix context copy memory leak drm/amd/display: Add more pstate sanity checks drm/amd/display: Fix accessing freed memory drm/amd/display: Fix hw state logging regression drm/amd/display: fix HDMI 12bits last two bits are zero issue drm/amd/display: Add comment explaining context free drm/amd/display: Log OTG registers with dcn10 hw state Darren Salt (1): drm/amd/display: Don't leak dc_stream_state. Dave Airlie (10): drm/dp-helper: add missing defines needed by AMD display core. drm/amd/display: remove dc hub - this seems unused. drm/amd/display: remove some unused wrappers drm/amd/display: drop register logger and pid/tgid getters drm/amd/display: drop get platform info drm/amd/display: drop setmode complete notifier drm/amd/display: port to using drm dpcd defines drm/amd/display: assign correct enum for edp revision drm/amd/display: drop min/max wrappers drm/amd/display: start using linux hdmi header Ding Wang (8): drm/amd/display: Temporarily blocking interlacing mode until it's supported. drm/amd/display: Use DTO as clock on DP if not drm/amd/display: obtain usHBR3En bit from BP 1 drm/amd/display: Fix for tile MST drm/amd/display: Define dithering options drm/amd/display: Add function to set dither option drm/amd/display: link training fallback actions drm/amd/display: fix decide_link_settings Dmytro Laktyushkin (111): drm/amd/display: remove dead display clock code drm/amd/display: restyle display clock calls part 1 drm/amd/display: restyle display clock calls part 2 drm/amd/display: remove store clock state drm/amd/display: remove get_min_clocks_state drm/amd/display: remove clocks_state enum drm/amd/display: consolidate dce8-11.2 display clock code drm/amd/display: add newline to generic_reg_wait timeout message drm/amd/display: fix display clock integrated info read drm/amd/display: create scratch_val_ctx as temp w/a drm/amd/display: moving remaining functionality from gpu to dce_clocks drm/amd/display: fix up construction of scratch_val_ctx drm/amd/display: define reg helpers to update registers with 8 and 9 fields drm/amd/display: minor clock source refactor drm/amd/display: Remove meta_pitch drm/amd/display: add missing dcc update on flip call drm/amd/display: prevent setting cursor position with no surface drm/amd/display: fix timing trace debug print drm/amd/display: Make new pixel clock more obvious drm/amd/display: add dcfclk reporting to pplib drm/amd/display: use disp clock value in context rather than bw_results drm/amd/display: fix psr status wait drm/amd/display: rename bandwidth_calcs.c to dce_calcs.c (v2) drm/amd/display: add scaler coefficients for 64 phase 5-8 taps drm/amd/display: remove apply_clk_constraints, used validate_bandwidth universally drm/amd/display: bandwidth update fix drm/amd/display: move visual confirm recout adjustment to scaler drm/amd/display: fix dce100_validate_bandwidth return value drm/amd/display: add init calculation to scaler params drm/amd/display: fix hsplit viewport calculation for rotated/mirrored usecases drm/amd/display: fix viewport adjustment on rotated surface drm/amd/display: fix incorrect vp adjustment drm/amd/display: fix bw calc internal initialization error drm/amd/display: remove dc_pre_update_surfaces_to_stream from dc use drm/amd/display: fix dce_calc surface pitch setting for non underlay pipes drm/amd/display: update dce8 & 10 bw programming drm/amd/display: remove unnecessary allocation for regamma_params inside opp drm/amd/display: fix memory leak drm/amd/display: improve cursor programming reliability drm/amd/display: dce120 to dce ipp refactor drm/amd/display: dce80, 100, 110 and 112 to dce ipp refactor drm/amd/display: no need for return value from ipp_program_degamma_pwl drm/amd/display: fix crash caused by incorrect index being used for array drm/amd/display: bw debug options now apply to dml as well drm/amd/display: prevent assert on error of 1 in calc_freesync_range drm/amd/display: refactor bw related variable structure in val_ctx drm/amd/display: switch to using calc_clk and cur_clk for dcn bw setting drm/amd/display: enable watermark range reporting to pplib drm/amd/display: fix scaling calculation for proper surface input format drm/amd/display: add yuv pixel formats to pixel_format_to_bpp() drm/amd/display: fix scaling info based surface update type check drm/amd/display: add explanation for surface_update_type drm/amd/display: fix mpo blanking out on one of planes being set not visible drm/amd/display: dce 8 - 12 mem_input refactor to new style drm/amd/display: add missing GRPH_UPDATE_LOCK field macro for dce_mem_input drm/amd/display: make dc_get_validate_context re-entrant drm/amd/display: revert dc_get_validate_context re-entrancy fix drm/amd/display: remove GRPH_SURFACE_UPDATE_IMMEDIATE_EN field programming drm/amd/display: fix flip register write sequence drm/amd/display: add always_scale debug flag to dc drm/amd/display: stop adjusting scl taps when scl ratio is one on dcn drm/amd/display: allow taking split pipes during resource mapping drm/amd/display: fix surface attachment handling of pipe split drm/amd/display: fix mpo + split pipe aquisition failure drm/amd/display: clean up mpc programing during fe reset drm/amd/display: fix mpc alpha programming drm/amd/display: propagate surface alpha setting from OS to DC drm/amd/display: fix enable_optc_clock reg_wait timeouts drm/amd/display: add bw logging for dcn drm/amd/display: redesign mpc drm/amd/display: w/a for ycbcr output pre-multiplied alpha corruption drm/amd/display: enable pipe split drm/amd/display: fix dc_check_update_surfaces_for_stream memcmp sequence drm/amd/display: fix dc_post_update_surfaces_to_stream drm/amd/display: do full fe reprogram on full update drm/amd/display: add pipe split disable regkey drm/amd/display: use different sr latencies for dpm0 dcn bw calc drm/amd/display: make variable latency into a regkey option drm/amd/display: dcn bw_calc_auto update rev 247 to 250 drm/amd/display: fix bw_calc_auto translation error drm/amd/display: fix dcn pipe reset sequence drm/amd/display: enable diags compilation drm/amd/display: Change max OPP drm/amd/display: Rename DCN TG specific function prefixes to tg drm/amd/display: Rename DCN mem input specific function prefixes to min. drm/amd/display: Rename DCN opp specific function prefixes to oppn10 drm/amd/display: Enable ipp compilation drm/amd/display: Remove SMU_INTERRUPT_CONTROL drm/amd/display: refactor dcn10 hw_sequencer to new reg access style drm/amd/display: get dal1.1 to run drm/amd/display: minor dcn10_hwseq clean up/refactor drm/amd/display: dal1.1 opp prog update drm/amd/display: dal1.1 ipp prog update drm/amd/display: dal1.1 xfm prog update drm/amd/display: dal1.1 hwseq prog update drm/amd/display: add line number to reg_wait timeout print drm/amd/display: hwseq init sequence update drm/amd/display: fix dcn10_resource read_dce_straps drm/amd/display: update dcn register headers drm/amd/display: revert dcn10 soc defaults to 17 19 drm/amd/display: support for updated register headers on DCN drm/amd/display: collapse dce11 reset_hw_ctx_wrap into 1 function drm/amd/display: mpc block redesign drm/amd/display: fix mpcc idle wait drm/amd/display: fix dcn fe reset memory access error drm/amd/display: fix bw_calc for hdmi and 420 outputs drm/amd/display: do not report min_memory_clock_khz to pplib for dce8 & 10 drm/amd/display: Use function pointer for update_plane_addr drm/amd/display: Use MAX_PIPES for DTO reg arrays drm/amd/display: fix hubp mpcc and opp tracking drm/amd/display: Fixed mpc add, enable always scaler for video surface. Duke Du (1): drm/amd/display: add display write back(DWB) Eric Bernstein (2): drm/amd/display: Update DSCL drm/amd/display: remove output_format from ipp_setup Eric Cook (4): drm/amd/display: FreeSync LFC MIN/MAX update on current frame drm/amd/display: FreeSync Auto Sweep Support drm/amd/display: Check for Zero Range in FreeSync Calc drm/amd/display: Add support for FreeSync on eDP to module Eric Yang (16): drm/amd/display: move number of memory channel calc out of pplib call drm/amd/display: block modes that require read bw greater than 30% drm/amd/display: Change how we disable pipe split drm/amd/display: call pplib to update clocks drm/amd/display: fix mpo exit hang drm/amd/display: properly turn off unused mpc before front end programming drm/amd/display: powergate fe of reused pipes to reset ttu drm/amd/display: fix locking in apply_ctx_for_surface drm/amd/display: Fix generic_reg_wait 1000ms case drm/amd/display: add idle wait for passive surface update and modeset drm/amd/display: add missing func for dce11o to avoid crash drm/amd/display: break up plane disable and disconnect in set mode drm/amd/display: reduce 40s time out to 1s in disable crtc drm/amd/display: update clocks we report to PPlib drm/amd/display: add programming for 0 plane case drm/amd/display: Fix time out on boot Harry Wentland (133): drm/amdgpu: Pulling old prepare and submit for flip back drm/amd/dc: Add dc display driver (v2) drm/amd/display: Removing extra newline drm/amd/display: Remove obsolete LATEST_ATOM_BIOS_SUPPORT drm/amd/display: Fix bunch of warnings in DC drm/amd/display: Fix warning in freesync module drm/amd/display: Fix warning. Set MAX_SURFACES to 3 drm/amd/display: Move dpcd structs into dp_types header drm/amd/display: Fix licensing header drm/amd/display: Don't use target before null check drm/amd/display: Remove unused color and power modules drm/amd/display: Remove unused function in gamma_calcs drm/amd/display: Fix misleading indentation bug in link_encoder drm/amd/display: Fix warnings in DC drm/amd/display: Fix wrong index bug in set_avi_info_frame drm/amd/display: Don't reserve pipe for underlay on ASIC without underlay drm/amd/display: Remove power gating debug flags drm/amd/display: Make sure to update address without flip drm/amd/display: Fix 64-bit division drm/amd/display: fix crash with modesetting driver drm/amd/display: Fix 64-bit division, yet again drm/amd/display: Remove LINUX_VERSION_CODE check drm/amdgpu: Expose mode_config functions for DM drm/amd/display: Fix warnings in amdgpu_dm drm/amd/display: Fix warnings in DC drm/amd/display: Some more warning fixes drm/amd/display: Use amdgpu mode funcs statically drm/amd/display: Remove unused define from amdgpu_dm_types drm/amd/display: We don't support interlace and doublescan Revert "drm/amdgpu: Pulling old prepare and submit for flip back" drm/amd/display: Add DCE12 bios parser support drm/amd/display: Add DCE12 gpio support drm/amd/display: Add DCE12 i2c/aux support drm/amd/display: Add DCE12 irq support drm/amd/display: Add DCE12 core support drm/amd/display: Rename bandwidth_calcs.h to dce_calcs.h drm/amd/display: Fix cleanup in amdgpu_dm_initialize_drm_device drm/amd/display: Allow planes on all crtcs drm/amd/display: Fallback on legacy properties in atomic_get_properties drm/amd/display: Remove unused scratch_val_ctx drm/amd/display: Get rid of temp_flip_context drm/amd/display: pull commit_surfaces out of atomic_commit into helper function drm/amd/display: Copy ctx to current_context instead of assign drm/amd/display: Move resource_validate_ctx_destruct to dc.h drm/amd/display: Return context from validate_context drm/amd/display: Fix memory leak in post_update_surfaces drm/amd/display: Assign stream to map before we need it drm/amdgpu/display: Add calcs code for DCN drm/amdgpu/display: Add core dc support for DCN drm/amdgpu/display: Add dml support for DCN drm/amdgpu/display: Add gpio support for DCN drm/amdgpu/display: Add i2c/aux support for DCN drm/amdgpu/display: Add irq support for DCN drm/amd/display: Don't call PSR func if DMCU is off drm/amd/display: Keep DVI_SINGLE_LINK signal if low clk drm/amd/display: ifdef some code only needed for DCN drm/amd/display: Use MED update type if clip position changes drm/amd/display: DCE12 num_timing_generators should be 6 drm/amd/display: Remove duplicate entry from log_mask drm/amd/display: Remove unused addr var in TG drm/amd/display: No need to assert on stream_status drm/amd/display: Limit DCN to x86 arch drm/amd/display: Don't guard x86 in Makefile drm/amd/display: Don't commit surfaces if no stream drm/amd/display: Don't call DCN clk code for Vega drm/amd/display: Don't program scaler if we have no surface drm/amd/display: Make mode_config_funcs const drm/amd/display: Create dm_atomic_state drm/amd/display: Hook dm private state into atomic_check drm/amd/display: Add correct retain/release drm/amd/display: Commit validation set from state drm/amd/display: Add validate_context to atomic_state drm/amd/display: Use validate_context from atomic_check in commit drm/amd/include: Add DC_PINSTRAPS.AUDIO defines drm/amd/include: Add DCHUBBUB_TEST_DEBUG register defines drm/amd: Add missing SURFACE_TMZ register shift/mask drm/amd/display: Roll surface struct into core_surface drm/amd/display: Roll core_surface into dc_surface drm/amd/display: Roll core_link into dc_link drm/amd/display: Roll sink struct into core_sink drm/amd/display: Roll core_sink into dc_sink drm/amd/display: Roll gamma struct into core_gamma drm/amd/display: Roll core_gamma into dc_gamma drm/amd/display: Minor fix for dc_sink refactor drm/amd/display: Rename firmware_info to dc_firmware_info drm/amd/display: Merge amdgpu_dm_types and amdgpu_dm drm/amd/display: Fix ckeckpatch problems in amdgpu_dm drm/amd/display: Rename dc_surface to dc_plane_state drm/amd/display: Rename dc_stream to dc_stream_state drm/amd/display: Rename more dc_surface stuff to plane_state drm/amd/display: Remove struct from stack in dp_set_test_pattern drm/amd/display: Stub new resource objects drm/amd/display: Move scl_data to plane_res drm/amd/display: Move mi, ipp, xfm to plane_res drm/amd/display: Move OPP to stream_res drm/amd/display: Move TG to stream_res drm/amd/display: Move stream_enc to stream_res drm/amd/display: Move audio to stream_res drm/amd/display: Move pix_clk_params into stream_res drm/amd/display: Move encoder_info_frame to stream_res drm/amd/display: Fix plane_atomic_check when no dc_state drm/amd/display: Clean up cursor code drm/amd/display: Use public plane destroy helper drm/amd/display: Couple newline fixes drm/amd/display: Fix regression in dce110_apply_ctx_for_surfaces drm/amd/display: Pass correct number for gamma entries drm/amd/display: Fix warnings about uninitialized use drm/amd/display: Add a TODO list drm/amd/display: Leave DCN config guard around fpu header drm/amd/display: Enable Vega by default. drm/amd/display: Remove unnecessary assignemnt drm/amd/display: dc: Remove unneeded includes in DCN drm/amd/display: Remove old, misleading comment drm/amd/display: Stop including atomfimrwareid.h directly drm/amd/display: Set add_stream_ctx for CZ, Hawaii and others drm/amd/display: Restore missing DCE8 xfm regs drm/amd/display: Don't spam log with failed validation drm/amdgpu: Remove unused flip_flags from amdgpu_crtc drm/amd/display: Enable dcn10_power_on_fe log by default drm/amd/display: Don't reset clock source at unref drm/amd/display: Power down clock source at commit drm/amd/display: Remove switching of clk sources at end of commit drm/amd/display: No need to keep track of unreffed clk sources drm/amd/display: Break out amdgpu_dm_connector drm/amd/display: Create fake sink if needed when commit stream drm/amd/display: Format changes to bring in line with internal tree drm/amd/display: Change comments to bring in line with internal tree drm/amd/display: Update include to bring in line with internal tree drm/amd/display: Clean Kconfig formatting drm/amdgpu: Add dc_log module parameter drm/amd/display: Pass log_mask from DM drm/amd/display: Reduce DC chattiness drm/amd/display: Remove unused dc_validate_guaranteed function Hawking Zhang (1): drm/amdgpu: enable dcn1.0 dc support on raven Hersen Wu (17): drm/amd/display: Add missing function to fix crash for DP Test pattern 4 drm/amd/display: set HBR3 and TPS4 capable flags drm/amd/display: Fix link retraining hw sequence for auto test drm/amd/display: Fix DP PHY test pre-emphasis not set properly drm/amd/display: set blank functionality drm/amd/display: No audio output heard from DP panel drm/amd/display: Check we got a stream in update_info_frame drm/amd/display: Clear test pattern when enabling stream drm/amd/display: Audio is not switching to DP when HDMI/DP hot plug/unplug drm/amd/display: Get dprefclk ss percentage from vbios drm/amd/display: create_links bug with empty DDI slot drm/amd/display: Enable DCN clock gating drm/amd/display: remove disable_clk_gate debug flag for DCN drm/amd/display: DAL3 RV get DPREFCLK SpreadspectrumInfo from smu_info drm/amd/display: DF C-state entry blocked when DPMS drm/amd/display: Request to have DCN RV pipe Harvesting drm/amd/display: USB-C to HDMI dongle not light Jeff Smith (1): drm/amd/display: default spd packet to invalid Jerry Zuo (6): drm/amd/display: fix NULL pointer in dm_commit_surfaces drm/amd/display: Add surface to dm_plane_state if fb reserve fails drm/amd/display: Use atomic types for ref_count drm/amd/display: Fix two MST not light up regressions drm/amd/display: Fix MST downstream display not light up regression drm/amd/display: Rename dc validate_context and current_context John Wu (1): drm/amd/display: Fix eDP power isn't off when lid close Jordan Lazare (9): drm/amd/dal: Add POLARIS12 support (v2) drm/amd/display: Fix missing fcn pointer on DCE8 drm/amd/display: Don't attempt to program missing register fields on DCE8 drm/amd/display: Fix gamma colour corruption for 10 bit surfaces drm/amd/display: Less log spam drm/amd/display: Less log spam drm/amd/display: Fill in vrefresh and min_vblank_time for dce8/dce10 drm/amd/display: Log clock source in error condition drm/amd/display: Fix missing irq refactor causing potential i2c race Joshua Aberback (5): drm/amd/display: Block 3D Timings drm/amd/display: When signal type of sink is none, use link type for stream drm/amd/display: Support 64-bit Polaris11 5k VSR drm/amd/display: Add Polaris12 to bw_calc drm/amd/display: Proper de-allocation of OPP Julia Lawall (3): drm/amd/dc: fix semicolon.cocci warnings drm/amd/dc: fix semicolon.cocci warnings drm/amd/dc: hw_sequencer: fix semicolon.cocci warnings Ken Chalmers (3): drm/amd/display: fix dc_commit_surfaces_to_stream for dcc drm/amd/display: Continue with stream enable if DP link training fails. drm/amd/display: RV stereo support Kenny Tsao (1): drm/amd/display: remove remaining DCN1 guard Krzysztof Nowicki (1): drm/amd/display: Fix MST physical ports always disconnected Leo (Sunpeng) Li (12): drm/amd/display: Fix dcn10 cursor set position hang drm/amd/display: Refactor use_lut() from dce110 to dce drm/amd/display: Implement input gamma LUT drm/amd/display: Remove unsupported RGB formats drm/amd/display: Workaround IGT multiplane restriction drm/amd/display: Move drm_get_vblank from legacy code drm/amd/display: Flattening to dc_transfer_func drm/amd/display: Do not release state objects on atomic check fail drm/amd/display: Roll core_stream into dc_stream drm/amd/display: Roll stream into dc_stream drm/amd/display: Refactor dc_state creation into a function. drm/amd/display: Move copy_construct from state_alloc to atomic_check. Leon Elazar (16): drm/amd/display: Add dcc param to surface drm/amd/display: blank mechanism for supporting MPO drm/amd/display: Fixing some fallout from dc_target removal drm/amd/display: Add missing MI masks drm/amd/display: check surface size is at least as large as stream drm/amd/display: DP compliance automation test fixes drm/amd/display: surface validation on dce100 drm/amd/display: Surface Validation Fixes + Audio Mask drm/amd/display: Adding FastUpdate functionality drm/amd/display: Memory leak fix during disable drm/amd/display: adding new dc_update_surfaces_and_stream drm/amd/display: changing the dc_update_surfaces_and_stream drm/amd/display: Fix applying surface to underlay pipe drm/amd/display: Memory was freed twice during disable drm/amd/display: set NULL value during removal for remoteSink drm/amd/display: Allow MPO on Raven Logatharshan Thothiralingam (2): drm/amd/display: Fixed bandwidth calculation error when converting fractions drm/amd/display: Get OTG info if OTG master enabled Mario Kleiner (2): drm/amd/display: Fix race between vblank irq and pageflip irq. (v2) drm/amd/display: Prevent premature pageflip when comitting in vblank. (v3) Mikita Lipski (1): drm/amd/display: Add a clock source to a sharing pipe Pratik Vishwakarma (1): drm/amd/display: get_atomic_property missing for drm_connector_funcs Rex Zhu (3): drm/amd/display: mclk level can't be 0. drm/amdgpu: get display info from DC when DC enabled. drm/amd/display: call amdgpu_dm_fini when hw_fini. Reza Amini (3): drm/amd/display: handle unsupported sink types drm/amd/display: remove surface validation against stream rect drm/amd/display: refactor member referencing to improve readability Roman Li (17): drm/amd/display: fix REG_SET_5 macro drm/amd/display: fix hotplug regression after code refactor drm/amd/display: fix gamma for dpms usecase drm/amd/display: increase timeout for dmif dealloc drm/amd/display: Fix 5th display lightup on Vega10 drm/amd/display: fix index and union overwrite in compressor drm/amd/display: Fix eDP panel light-up drm/amd/display: safeguard compressor api drm/amd/display: add detect caps for edp drm/amd/display: Initial prototype of FBC implementation drm/amd/display: Initial prototype of FBC implementation drm/amd/display: fix gamma distortion on Vega drm/amd/display: Fix FBC compilation drm/amd/display: increase polling interval for fbc status update drm/amd/display: Fix FBC disable for stereo drm/amd/display: program fbc for scatter/gather drm/amd/display: Disable FBC for linear tiling Shirish S (9): drm/amd/display: update plane functionalities drm/amd/display: initialize YUV plane capabilities drm/amd/display: update the YUV plane offsets drm/amd/display: make dc_commit_surfaces_to_stream() re-entrant drm/amd/display: re-order the luma chroma addres updation drm/amd/display: update NV12/NV21 as the YUV format drm/amd/display: remove get_position() of underlay drm/amd/display: dce110: fix plane validation drm/amd/display: don't clean-up bottom pipe plane_state Sylvia Tsai (4): drm/amd/display: Set ignore_msa_timing flag for freesync modes drm/amd/display: Adding dm controlled signal type in dc_stream drm/amd/display: Parse scanline registers drm/amd/display: PSR Refactor Tom St Denis (6): drm/amd/display: Tidy up dce120_timing_generator_enable_advanced_request() drm/amd/display: Fix indentation in dce120_tg_program_timing() drm/amd/display: Make dce120_tg_is_blanked() more legible drm/amd/display: Clean up indentation in dce120_tg_set_blank() drm/amd/display: Tidy up dce120_clock_source_create() drm/amd/display: Tidy up mem_input_program_surface_flip_and_addr() Tony Cheng (68): drm/amd/display: refactor DCE11 DVVM drm/amd/display: fix indexing bug drm/amd/display: avoid apply_clk_constraints for address update drm/amd/display: 4k split black out due to incorrect cursor drm/amd/display: add pitch to cursor attributes drm/amd/display: track cursor width in ipp drm/amd/display: Allow multiple instance of DTO regs drm/amd/display: debug opt disable hdmi deep color drm/amd/display: debug option to disable color module fucntionality drm/amd/display: enable option to disable HDR related updates. drm/amd/display: simplify link_encoder drm/amd/display: limit HBR3 support to Polaris and up drm/amd/display: fix Infoframe byte 28-31 doesn't get written out to register drm/amd/display: remove HDMI deep color debug flag drm/amd/display: mode change without breaking unaffected streams drm/amd/display: assert if mask is 0 in set_reg_field_value_ex drm/amd/display: remove un-used defines and dead code drm/amd/display: remove hw_crtc_timing drm/amd/display: remove hw_info_frame drm/amd/display: remove SIGNAL_TYPE_WIRELESS drm/amd/display: remove dead code drm/amd/display: remove calculate_adjustments in conversion.h drm/amd/display: enable clock gating and dchubp power gating drm/amd/display: refactor clk_resync to avoid assertion drm/amd/display: rename BGRA8888 to ABGR8888 drm/amd/display: improve debug-ability drm/amd/display: refactor dc_update_surfaces_for_stream drm/amd/display: clean up redundant logic drm/amd/display: enable color gamma programming drm/amd/display: report cursor size base on the ASIC drm/amd/display: clean up and simply locking logic drm/amd/display: remove independent lock as we have no use case today drm/amd/display: use extended receiver cap for dpcd ver drm/amd/display: support CP2520 pattern 2 for HBR2 compliance drm/amd/display: support PHY compliance automation for CP2520 pattern 1/2/3 drm/amd/display: use CP2520-3 for PHY compliance automation drm/amd/display: move tg_color to dc_hw_types drm/amd/display: clarify delay param for REG_WAIT drm/amd/display: decouple resource_pool from resource_context drm/amd/display: move drr_params definition to TG drm/amd/display: do not set_mpc_tree if tree is already setup drm/amd/display: read VM settings from MMHUB drm/amd/display: fix YUV surface address programming sequence drm/amd/display: disable forced stutter disable after programming watermark drm/amd/display: update DPM bounding box drm/amd/display: change order of HUBP and MPC disable according to HW guide drm/amd/display: avoid disabling opp clk before hubp is blanked. drm/amd/display: ensure OTG is locked before proceeding drm/amd/display: revert order change of HUBP and MPC disable drm/amd/display: register programming consolidation drm/amd/display: plumbing to allow easy print of HW state for DTN drm/amd/display: mpo debug sanity checks drm/amd/display: mpcc disconnect and pipe pg in multi-display drm/amd/display: move VGA to HWSS from TG drm/amd/display: move ocsc programming from opp to dpp drm/amd/display: separate plane disable sequence drm/amd/display: log HUBP using DTN logging drm/amd/display: log HW state when we about to encounter DF DPM hang drm/amd/display: log underflow drm/amd/display: use some sensible time out drm/amd/display: log watermarks drm/amd/display: remove fake address reporting when blank drm/amd/display: refactor pplib/smu communication drm/amd/display: memory leak dwb drm/amd/display: version 3.1.01 drm/amd/display: retire dm_pp_apply_clock_for_voltage_request drm/amd/display: delete dead code drm/amd/display: fix default dithering Vikrant Mhaske (1): drm/amd/display: Fix DCN compile errors Vitaly Prosyak (13): drm/amd/display: re gamma programming drm/amd/display: Adding 10 bpcc video P010 format drm/amd/display: Enable regamma 25 segments and use double buffer. drm/amd/display: stereo support drm/amd/display: Add support for programming stereo sync drm/amd/display: RV stereo support drm/amd/display: RV stereo support drm/amd/display: RV stereo support drm/amd/display: Fix for hdmi frame pack stereo drm/amd/display: Rename trasnform to dpp for dcn's drm/amd/display: Move view port registers and programming to memory input. drm/amd/display: Add interfaces for new CM blocks drm/amd/display: Update DPP registers Wenjing Liu (12): drm/amd/display: Update rgb limited range csc matrix calculation drm/amd/display: use rgb full range as default quantization for non HDMI drm/amd/display: Return hpd_irq_dpcd from hpd_rx handler drm/amd/display: Move verify link cap after read edid drm/amd/display: Cache edp config in dc link drm/amd/display: re-enable audio after LT test drm/amd/display: retry LT on failing LT in automated request drm/amd/display: Fix return value from rx irq handler on up request drm/amd/display: Safe stream encoder id in stream_status drm/amd/display: do not reset lane count in EQ fallback drm/amd/display: Use TPS4 instead of CP2520_3 for phy pattern 7 drm/amd/display: set CP2520 Test pattern to use DP_TEST_PATTERN_HBR2_COMPLIANCE_EYE Wesley Chalmers (1): drm/amd/display: Change DTN_INFO macro Xiangliang Yu (1): drm/amdgpu/virt: disable dc Xiaojie Yuan (1): drm/amd/display: Fix misuse of plane state destroy helper Yongqiang Sun (50): drm/amd/display: Add missing GRPH register definition drm/amd/display: Added timing sync trace. drm/amd/display: Moved swizzle parameter translation to dc. drm/amd/display: Resolved HDMI assert in dal drm/amd/display: Add debug option to disable dmcu drm/amd/display: don't crash if stream is NULL when trying to share clocks drm/amd/display: reset transfer_func to NULL on release drm/amd/display: Fixed crash drm/amd/display: Fixed split update bug. drm/amd/display: Fixed crash caused by unnecessary clock source in split pipe. drm/amd/display: Set gamma to NULL at release drm/amd/display: Check hdr support before setting. drm/amd/display: Don't fail validation for SIGNAL_TYPE_VIRTUAL drm/amd/display: Pass visible flag into surface programming drm/amd/display: Null check clock source. drm/amd/display: Change update surface condition, fix surface transition corruption. drm/amd/display: Fixed 4K black issue by refactor update surface. drm/amd/display: Expose hw sequencer gamma function drm/amd/display: Change power gating off sequence to fix hang drm/amd/display: Fixed color temperature corruption. drm/amd/display: After program backend, also program front end regs. drm/amd/display: Do not copy bottom pipe when map resource. drm/amd/display: Use stream_enc to get head pipe. drm/amd/display: Power on front end during set mode. drm/amd/display: Fix MPO exit and cursor issue. drm/amd/display: Ignore visible flag when check surface update type. drm/amd/display: Add same check as reset pipes for programing backend regs. drm/amd/display: change mpo surface update check condition. drm/amd/display: set correct v_total_min and v_total_max for dce. drm/amd/display: Make sure v_total_min and max not less than v_total. drm/amd/display: Disable cursor on video surface. drm/amd/display: Only apply ctx for specific surface. drm/amd/display: Add 64KB_S_T and 64KB_D_T swizzle mode. drm/amd/display: Use surface update inuse for pending check. drm/amd/display: disable dcc when reset front end. drm/amd/display: Disable pipe split. drm/amd/display: set drr during program timing. drm/amd/display: Disable timestamp and entry heading drm/amd/display: Keep blank until set visibility to true after mode switch drm/amd/display: Implement tmz surface. drm/amd/display: Clear water mark change request bit before programing. drm/amd/display: Workaround for underflow. drm/amd/display: blank otg before power gate front end. drm/amd/display: Enable double buffer when unblank crtc. drm/amd/display: work around for 8k sleep crash drm/amd/display: Remove mpc from bios left over, keep double buffer disabled. drm/amd/display: Program reg for vertical interrupt. drm/amd/display: Disable OTG double buffer. drm/amd/display: Added negative check for vertical line start. drm/amd/display: Remove sanity check. Yue Hin Lau (15): drm/amd/display: Add DC interface for custom CSC matrix drm/amd/display: move RGAM programming from opp to dpp drm/amd/display: move ocsc programming from opp to dpp drm/amd/display: move ocsc programming from opp to dpp for dce drm/amd/display: move regamma from opp to dpp for dce drm/amd/display: move vm registers to hwsequencer drm/amd/display: separate scl functions out from dcn10_dpp drm/amd/display: separate cm functions out from dcn10_dpp drm/amd/display: cleanup naming of DCN DPP functions drm/amd/display: move cm registers from ipp to dpp_cm drm/amd/display: clean up header file includes drm/amd/display: clean up functions in dcn10_dpp_cm drm/amd/display: clean up cm register programming functions drm/amd/display: seperate dpp_cm_helper functions into new file drm/amd/display: move dwb registers to header file Zeyu Fan (24): drm/amd/display: Fix hdmi not lighting up on Hawaii. drm/amd/display: Fix bugs causing Hawaii and Bonaire not light up. drm/amd/display: Fix HDMI scaling corruption issue. drm/amd/display: OPP refactor and consolidation for DCE. drm/amd/display: Fix link retraining hw sequence drm/amd/display: Fix missing conditions in hw sequencer. drm/amd/display: Fix program pix clk logic to unblock deep color set. drm/amd/display: Fix logic that causes segfault on DP display. drm/amd/display: Add query_ddc_data function drm/amd/display: Fix error where wrong payload size is given. drm/amd/display: Refactor on dc_sink structure. drm/amd/display: Temporary disable PSR for HBR2 & HBR3 drm/amd/display: Fix hotspot programming during set cursor position. drm/amd/display: Block YCbCr formats for eDP. Revert previous change. drm/amd/display: Make dc_link param const in set_drive_settings drm/amd/display: Add FORCE_HDR timing flag drm/amd/display: Add function to log connectivity drm/amd/display: Call program_gamut explicitly instead of entire set_plane drm/amd/display: Save hpd_src for dc_link drm/amd/display: Set i2c speed to 100khz for DCE11.2 and later. drm/amd/display: Implement logic for hdmi info packet bits. drm/amd/display: Move DCHUBBUB block from MemInput to HW sequencer. drm/amd/display: Clean up some DCN1 guards drm/amd/display: Implement HDMI retimer settings for RV AM4 support. jimqu (1): drm/amd/display: Fix memory corruption issue. kbuild test robot (2): drm/amdgpu/display: fix semicolon.cocci warnings drm/amdgpu/display: fix semicolon.cocci warnings pana (1): drm/amd/display: Add 2X Cursor Magnification Code xhdu (1): drm/amd/display: Add audio/video ContainerId implementation drivers/gpu/drm/amd/amdgpu/Kconfig | 1 + drivers/gpu/drm/amd/amdgpu/Makefile | 17 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 16 + drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 59 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 105 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.h | 33 + drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 26 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 8 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 29 +- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 99 +- drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 2 +- drivers/gpu/drm/amd/amdgpu/cik.c | 17 + drivers/gpu/drm/amd/amdgpu/soc15.c | 12 + drivers/gpu/drm/amd/amdgpu/vi.c | 21 + drivers/gpu/drm/amd/display/Kconfig | 35 + drivers/gpu/drm/amd/display/Makefile | 22 + drivers/gpu/drm/amd/display/TODO | 81 + drivers/gpu/drm/amd/display/amdgpu_dm/Makefile | 17 + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4888 ++++++++++++++++++++ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 335 ++ .../drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 498 ++ .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 835 ++++ .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.h | 122 + .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 460 ++ .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.h | 36 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_services.c | 433 ++ drivers/gpu/drm/amd/display/dc/Makefile | 33 + drivers/gpu/drm/amd/display/dc/basics/Makefile | 11 + drivers/gpu/drm/amd/display/dc/basics/conversion.c | 114 + drivers/gpu/drm/amd/display/dc/basics/conversion.h | 43 + drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c | 700 +++ drivers/gpu/drm/amd/display/dc/basics/fixpt32_32.c | 221 + .../gpu/drm/amd/display/dc/basics/grph_object_id.c | 134 + .../gpu/drm/amd/display/dc/basics/log_helpers.c | 102 + drivers/gpu/drm/amd/display/dc/basics/logger.c | 429 ++ drivers/gpu/drm/amd/display/dc/basics/logger.h | 67 + .../gpu/drm/amd/display/dc/basics/signal_types.c | 80 + drivers/gpu/drm/amd/display/dc/basics/vector.c | 307 ++ drivers/gpu/drm/amd/display/dc/bios/Makefile | 27 + drivers/gpu/drm/amd/display/dc/bios/bios_parser.c | 4145 +++++++++++++++++ drivers/gpu/drm/amd/display/dc/bios/bios_parser.h | 33 + drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 2219 +++++++++ drivers/gpu/drm/amd/display/dc/bios/bios_parser2.h | 33 + .../drm/amd/display/dc/bios/bios_parser_helper.c | 82 + .../drm/amd/display/dc/bios/bios_parser_helper.h | 40 + .../amd/display/dc/bios/bios_parser_interface.c | 56 + .../display/dc/bios/bios_parser_types_internal.h | 72 + .../display/dc/bios/bios_parser_types_internal2.h | 74 + .../gpu/drm/amd/display/dc/bios/command_table.c | 2424 ++++++++++ .../gpu/drm/amd/display/dc/bios/command_table.h | 102 + .../gpu/drm/amd/display/dc/bios/command_table2.c | 812 ++++ .../gpu/drm/amd/display/dc/bios/command_table2.h | 105 + .../drm/amd/display/dc/bios/command_table_helper.c | 290 ++ .../drm/amd/display/dc/bios/command_table_helper.h | 90 + .../amd/display/dc/bios/command_table_helper2.c | 265 ++ .../amd/display/dc/bios/command_table_helper2.h | 82 + .../dc/bios/dce110/command_table_helper_dce110.c | 364 ++ .../dc/bios/dce110/command_table_helper_dce110.h | 34 + .../dc/bios/dce112/command_table_helper2_dce112.c | 418 ++ .../dc/bios/dce112/command_table_helper2_dce112.h | 34 + .../dc/bios/dce112/command_table_helper_dce112.c | 418 ++ .../dc/bios/dce112/command_table_helper_dce112.h | 34 + .../dc/bios/dce80/command_table_helper_dce80.c | 354 ++ .../dc/bios/dce80/command_table_helper_dce80.h | 33 + drivers/gpu/drm/amd/display/dc/calcs/Makefile | 18 + drivers/gpu/drm/amd/display/dc/calcs/bw_fixed.c | 299 ++ .../gpu/drm/amd/display/dc/calcs/custom_float.c | 197 + drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c | 3254 +++++++++++++ .../gpu/drm/amd/display/dc/calcs/dcn_calc_auto.c | 1899 ++++++++ .../gpu/drm/amd/display/dc/calcs/dcn_calc_auto.h | 37 + .../gpu/drm/amd/display/dc/calcs/dcn_calc_math.c | 104 + .../gpu/drm/amd/display/dc/calcs/dcn_calc_math.h | 40 + drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c | 1616 +++++++ drivers/gpu/drm/amd/display/dc/core/dc.c | 1868 ++++++++ drivers/gpu/drm/amd/display/dc/core/dc_debug.c | 359 ++ .../gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 101 + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 2360 ++++++++++ drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c | 779 ++++ drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 2567 ++++++++++ drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c | 330 ++ drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 2753 +++++++++++ drivers/gpu/drm/amd/display/dc/core/dc_sink.c | 137 + drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 355 ++ drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 202 + drivers/gpu/drm/amd/display/dc/dc.h | 1039 +++++ drivers/gpu/drm/amd/display/dc/dc_bios_types.h | 218 + drivers/gpu/drm/amd/display/dc/dc_ddc_types.h | 115 + drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 467 ++ drivers/gpu/drm/amd/display/dc/dc_helper.c | 171 + drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 706 +++ drivers/gpu/drm/amd/display/dc/dc_types.h | 651 +++ drivers/gpu/drm/amd/display/dc/dce/Makefile | 15 + drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 485 ++ drivers/gpu/drm/amd/display/dc/dce/dce_abm.h | 228 + drivers/gpu/drm/amd/display/dc/dce/dce_audio.c | 929 ++++ drivers/gpu/drm/amd/display/dc/dce/dce_audio.h | 148 + .../gpu/drm/amd/display/dc/dce/dce_clock_source.c | 1381 ++++++ .../gpu/drm/amd/display/dc/dce/dce_clock_source.h | 145 + drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c | 827 ++++ drivers/gpu/drm/amd/display/dc/dce/dce_clocks.h | 137 + drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 620 +++ drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.h | 218 + drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.c | 209 + drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.h | 594 +++ drivers/gpu/drm/amd/display/dc/dce/dce_ipp.c | 266 ++ drivers/gpu/drm/amd/display/dc/dce/dce_ipp.h | 238 + .../gpu/drm/amd/display/dc/dce/dce_link_encoder.c | 1626 +++++++ .../gpu/drm/amd/display/dc/dce/dce_link_encoder.h | 282 ++ drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c | 703 +++ drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.h | 347 ++ drivers/gpu/drm/amd/display/dc/dce/dce_opp.c | 569 +++ drivers/gpu/drm/amd/display/dc/dce/dce_opp.h | 310 ++ .../gpu/drm/amd/display/dc/dce/dce_scl_filters.c | 1109 +++++ .../drm/amd/display/dc/dce/dce_stream_encoder.c | 1631 +++++++ .../drm/amd/display/dc/dce/dce_stream_encoder.h | 733 +++ drivers/gpu/drm/amd/display/dc/dce/dce_transform.c | 1467 ++++++ drivers/gpu/drm/amd/display/dc/dce/dce_transform.h | 516 +++ drivers/gpu/drm/amd/display/dc/dce100/Makefile | 23 + .../amd/display/dc/dce100/dce100_hw_sequencer.c | 154 + .../amd/display/dc/dce100/dce100_hw_sequencer.h | 42 + .../drm/amd/display/dc/dce100/dce100_resource.c | 964 ++++ .../drm/amd/display/dc/dce100/dce100_resource.h | 26 + drivers/gpu/drm/amd/display/dc/dce110/Makefile | 12 + .../drm/amd/display/dc/dce110/dce110_compressor.c | 527 +++ .../drm/amd/display/dc/dce110/dce110_compressor.h | 81 + .../amd/display/dc/dce110/dce110_hw_sequencer.c | 2732 +++++++++++ .../amd/display/dc/dce110/dce110_hw_sequencer.h | 72 + .../drm/amd/display/dc/dce110/dce110_mem_input_v.c | 1052 +++++ .../drm/amd/display/dc/dce110/dce110_mem_input_v.h | 35 + .../drm/amd/display/dc/dce110/dce110_opp_csc_v.c | 738 +++ .../amd/display/dc/dce110/dce110_opp_regamma_v.c | 557 +++ .../gpu/drm/amd/display/dc/dce110/dce110_opp_v.c | 56 + .../gpu/drm/amd/display/dc/dce110/dce110_opp_v.h | 39 + .../drm/amd/display/dc/dce110/dce110_resource.c | 1345 ++++++ .../drm/amd/display/dc/dce110/dce110_resource.h | 49 + .../display/dc/dce110/dce110_timing_generator.c | 1971 ++++++++ .../display/dc/dce110/dce110_timing_generator.h | 274 ++ .../display/dc/dce110/dce110_timing_generator_v.c | 693 +++ .../display/dc/dce110/dce110_timing_generator_v.h | 33 + .../drm/amd/display/dc/dce110/dce110_transform_v.c | 716 +++ .../drm/amd/display/dc/dce110/dce110_transform_v.h | 58 + .../gpu/drm/amd/display/dc/dce110/dce110_types.h | 30 + drivers/gpu/drm/amd/display/dc/dce112/Makefile | 10 + .../drm/amd/display/dc/dce112/dce112_compressor.c | 859 ++++ .../drm/amd/display/dc/dce112/dce112_compressor.h | 78 + .../amd/display/dc/dce112/dce112_hw_sequencer.c | 165 + .../amd/display/dc/dce112/dce112_hw_sequencer.h | 36 + .../drm/amd/display/dc/dce112/dce112_resource.c | 1311 ++++++ .../drm/amd/display/dc/dce112/dce112_resource.h | 61 + drivers/gpu/drm/amd/display/dc/dce120/Makefile | 11 + .../amd/display/dc/dce120/dce120_hw_sequencer.c | 259 ++ .../amd/display/dc/dce120/dce120_hw_sequencer.h | 36 + .../drm/amd/display/dc/dce120/dce120_resource.c | 1019 ++++ .../drm/amd/display/dc/dce120/dce120_resource.h | 39 + .../display/dc/dce120/dce120_timing_generator.c | 1180 +++++ .../display/dc/dce120/dce120_timing_generator.h | 41 + drivers/gpu/drm/amd/display/dc/dce80/Makefile | 13 + .../drm/amd/display/dc/dce80/dce80_compressor.c | 839 ++++ .../drm/amd/display/dc/dce80/dce80_compressor.h | 78 + .../drm/amd/display/dc/dce80/dce80_hw_sequencer.c | 119 + .../drm/amd/display/dc/dce80/dce80_hw_sequencer.h | 36 + .../gpu/drm/amd/display/dc/dce80/dce80_resource.c | 1287 ++++++ .../gpu/drm/amd/display/dc/dce80/dce80_resource.h | 47 + .../amd/display/dc/dce80/dce80_timing_generator.c | 244 + .../amd/display/dc/dce80/dce80_timing_generator.h | 45 + drivers/gpu/drm/amd/display/dc/dcn10/Makefile | 11 + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c | 428 ++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h | 1365 ++++++ .../gpu/drm/amd/display/dc/dcn10/dcn10_dpp_cm.c | 815 ++++ .../drm/amd/display/dc/dcn10/dcn10_dpp_cm_helper.c | 123 + .../drm/amd/display/dc/dcn10/dcn10_dpp_cm_helper.h | 99 + .../gpu/drm/amd/display/dc/dcn10/dcn10_dpp_dscl.c | 710 +++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dwb.c | 365 ++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dwb.h | 277 ++ .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 2892 ++++++++++++ .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h | 38 + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.c | 259 ++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.h | 167 + .../gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.c | 808 ++++ .../gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.h | 568 +++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c | 274 ++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h | 115 + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c | 351 ++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.h | 186 + .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 1530 ++++++ .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.h | 47 + .../amd/display/dc/dcn10/dcn10_timing_generator.c | 1191 +++++ .../amd/display/dc/dcn10/dcn10_timing_generator.h | 379 ++ drivers/gpu/drm/amd/display/dc/dm_helpers.h | 105 + drivers/gpu/drm/amd/display/dc/dm_pp_smu.h | 131 + drivers/gpu/drm/amd/display/dc/dm_services.h | 477 ++ drivers/gpu/drm/amd/display/dc/dm_services_types.h | 282 ++ drivers/gpu/drm/amd/display/dc/dml/Makefile | 22 + drivers/gpu/drm/amd/display/dc/dml/dc_features.h | 557 +++ .../drm/amd/display/dc/dml/display_mode_enums.h | 111 + .../gpu/drm/amd/display/dc/dml/display_mode_lib.c | 147 + .../gpu/drm/amd/display/dc/dml/display_mode_lib.h | 52 + .../drm/amd/display/dc/dml/display_mode_structs.h | 429 ++ .../drm/amd/display/dc/dml/display_mode_support.c | 2326 ++++++++++ .../drm/amd/display/dc/dml/display_mode_support.h | 199 + .../drm/amd/display/dc/dml/display_pipe_clocks.c | 367 ++ .../drm/amd/display/dc/dml/display_pipe_clocks.h | 41 + .../drm/amd/display/dc/dml/display_rq_dlg_calc.c | 2254 +++++++++ .../drm/amd/display/dc/dml/display_rq_dlg_calc.h | 139 + .../amd/display/dc/dml/display_rq_dlg_helpers.c | 320 ++ .../amd/display/dc/dml/display_rq_dlg_helpers.h | 66 + .../gpu/drm/amd/display/dc/dml/display_watermark.c | 1281 +++++ .../gpu/drm/amd/display/dc/dml/display_watermark.h | 98 + .../gpu/drm/amd/display/dc/dml/dml_common_defs.c | 148 + .../gpu/drm/amd/display/dc/dml/dml_common_defs.h | 51 + .../gpu/drm/amd/display/dc/dml/soc_bounding_box.c | 73 + .../gpu/drm/amd/display/dc/dml/soc_bounding_box.h | 36 + drivers/gpu/drm/amd/display/dc/gpio/Makefile | 58 + .../amd/display/dc/gpio/dce110/hw_factory_dce110.c | 178 + .../amd/display/dc/gpio/dce110/hw_factory_dce110.h | 32 + .../display/dc/gpio/dce110/hw_translate_dce110.c | 387 ++ .../display/dc/gpio/dce110/hw_translate_dce110.h | 34 + .../amd/display/dc/gpio/dce120/hw_factory_dce120.c | 197 + .../amd/display/dc/gpio/dce120/hw_factory_dce120.h | 32 + .../display/dc/gpio/dce120/hw_translate_dce120.c | 408 ++ .../display/dc/gpio/dce120/hw_translate_dce120.h | 34 + .../amd/display/dc/gpio/dce80/hw_factory_dce80.c | 173 + .../amd/display/dc/gpio/dce80/hw_factory_dce80.h | 32 + .../amd/display/dc/gpio/dce80/hw_translate_dce80.c | 411 ++ .../amd/display/dc/gpio/dce80/hw_translate_dce80.h | 32 + .../amd/display/dc/gpio/dcn10/hw_factory_dcn10.c | 192 + .../amd/display/dc/gpio/dcn10/hw_factory_dcn10.h | 32 + .../amd/display/dc/gpio/dcn10/hw_translate_dcn10.c | 408 ++ .../amd/display/dc/gpio/dcn10/hw_translate_dcn10.h | 34 + drivers/gpu/drm/amd/display/dc/gpio/ddc_regs.h | 150 + .../display/dc/gpio/diagnostics/hw_factory_diag.c | 63 + .../display/dc/gpio/diagnostics/hw_factory_diag.h | 32 + .../dc/gpio/diagnostics/hw_translate_diag.c | 40 + .../dc/gpio/diagnostics/hw_translate_diag.h | 34 + drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c | 272 ++ drivers/gpu/drm/amd/display/dc/gpio/gpio_regs.h | 45 + drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c | 592 +++ drivers/gpu/drm/amd/display/dc/gpio/gpio_service.h | 56 + drivers/gpu/drm/amd/display/dc/gpio/hpd_regs.h | 79 + drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c | 243 + drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.h | 46 + drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c | 107 + drivers/gpu/drm/amd/display/dc/gpio/hw_factory.h | 74 + drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.c | 205 + drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.h | 144 + drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c | 175 + drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.h | 46 + drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c | 90 + drivers/gpu/drm/amd/display/dc/gpio/hw_translate.h | 50 + drivers/gpu/drm/amd/display/dc/i2caux/Makefile | 78 + drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c | 573 +++ drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h | 119 + .../amd/display/dc/i2caux/dce100/i2caux_dce100.c | 112 + .../amd/display/dc/i2caux/dce100/i2caux_dce100.h | 32 + .../display/dc/i2caux/dce110/aux_engine_dce110.c | 482 ++ .../display/dc/i2caux/dce110/aux_engine_dce110.h | 78 + .../dc/i2caux/dce110/i2c_hw_engine_dce110.c | 577 +++ .../dc/i2caux/dce110/i2c_hw_engine_dce110.h | 214 + .../dc/i2caux/dce110/i2c_sw_engine_dce110.c | 171 + .../dc/i2caux/dce110/i2c_sw_engine_dce110.h | 43 + .../amd/display/dc/i2caux/dce110/i2caux_dce110.c | 323 ++ .../amd/display/dc/i2caux/dce110/i2caux_dce110.h | 53 + .../amd/display/dc/i2caux/dce112/i2caux_dce112.c | 140 + .../amd/display/dc/i2caux/dce112/i2caux_dce112.h | 32 + .../amd/display/dc/i2caux/dce120/i2caux_dce120.c | 125 + .../amd/display/dc/i2caux/dce120/i2caux_dce120.h | 32 + .../display/dc/i2caux/dce80/i2c_hw_engine_dce80.c | 885 ++++ .../display/dc/i2caux/dce80/i2c_hw_engine_dce80.h | 54 + .../display/dc/i2caux/dce80/i2c_sw_engine_dce80.c | 184 + .../display/dc/i2caux/dce80/i2c_sw_engine_dce80.h | 43 + .../drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c | 295 ++ .../drm/amd/display/dc/i2caux/dce80/i2caux_dce80.h | 38 + .../drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c | 125 + .../drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.h | 32 + .../display/dc/i2caux/diagnostics/i2caux_diag.c | 108 + .../display/dc/i2caux/diagnostics/i2caux_diag.h | 32 + drivers/gpu/drm/amd/display/dc/i2caux/engine.h | 120 + .../gpu/drm/amd/display/dc/i2caux/engine_base.c | 53 + drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c | 121 + drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h | 113 + .../amd/display/dc/i2caux/i2c_generic_hw_engine.c | 286 ++ .../amd/display/dc/i2caux/i2c_generic_hw_engine.h | 77 + .../gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c | 246 + .../gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h | 80 + .../gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c | 610 +++ .../gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h | 81 + drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c | 487 ++ drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h | 122 + drivers/gpu/drm/amd/display/dc/inc/bw_fixed.h | 63 + drivers/gpu/drm/amd/display/dc/inc/clock_source.h | 182 + drivers/gpu/drm/amd/display/dc/inc/compressor.h | 136 + drivers/gpu/drm/amd/display/dc/inc/core_status.h | 49 + drivers/gpu/drm/amd/display/dc/inc/core_types.h | 277 ++ drivers/gpu/drm/amd/display/dc/inc/custom_float.h | 40 + drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h | 151 + drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h | 72 + drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h | 481 ++ drivers/gpu/drm/amd/display/dc/inc/dcn_calcs.h | 635 +++ drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 48 + drivers/gpu/drm/amd/display/dc/inc/hw/audio.h | 62 + .../gpu/drm/amd/display/dc/inc/hw/display_clock.h | 85 + drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h | 50 + drivers/gpu/drm/amd/display/dc/inc/hw/dwb.h | 193 + drivers/gpu/drm/amd/display/dc/inc/hw/gpio.h | 86 + drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h | 141 + drivers/gpu/drm/amd/display/dc/inc/hw/ipp.h | 112 + .../gpu/drm/amd/display/dc/inc/hw/link_encoder.h | 138 + drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h | 168 + drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h | 54 + drivers/gpu/drm/amd/display/dc/inc/hw/opp.h | 289 ++ .../gpu/drm/amd/display/dc/inc/hw/stream_encoder.h | 131 + .../drm/amd/display/dc/inc/hw/timing_generator.h | 183 + drivers/gpu/drm/amd/display/dc/inc/hw/transform.h | 254 + drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h | 189 + drivers/gpu/drm/amd/display/dc/inc/link_hwss.h | 75 + drivers/gpu/drm/amd/display/dc/inc/reg_helper.h | 392 ++ drivers/gpu/drm/amd/display/dc/inc/resource.h | 167 + drivers/gpu/drm/amd/display/dc/irq/Makefile | 48 + .../amd/display/dc/irq/dce110/irq_service_dce110.c | 435 ++ .../amd/display/dc/irq/dce110/irq_service_dce110.h | 53 + .../amd/display/dc/irq/dce120/irq_service_dce120.c | 294 ++ .../amd/display/dc/irq/dce120/irq_service_dce120.h | 34 + .../amd/display/dc/irq/dce80/irq_service_dce80.c | 308 ++ .../amd/display/dc/irq/dce80/irq_service_dce80.h | 35 + .../amd/display/dc/irq/dcn10/irq_service_dcn10.c | 361 ++ .../amd/display/dc/irq/dcn10/irq_service_dcn10.h | 34 + drivers/gpu/drm/amd/display/dc/irq/irq_service.c | 169 + drivers/gpu/drm/amd/display/dc/irq/irq_service.h | 85 + drivers/gpu/drm/amd/display/dc/irq_types.h | 193 + drivers/gpu/drm/amd/display/dc/os_types.h | 58 + drivers/gpu/drm/amd/display/dc/virtual/Makefile | 9 + .../amd/display/dc/virtual/virtual_link_encoder.c | 133 + .../amd/display/dc/virtual/virtual_link_encoder.h | 34 + .../display/dc/virtual/virtual_stream_encoder.c | 136 + .../display/dc/virtual/virtual_stream_encoder.h | 39 + drivers/gpu/drm/amd/display/include/audio_types.h | 106 + .../amd/display/include/bios_parser_interface.h | 44 + .../drm/amd/display/include/bios_parser_types.h | 310 ++ drivers/gpu/drm/amd/display/include/dal_asic_id.h | 143 + drivers/gpu/drm/amd/display/include/dal_types.h | 49 + .../drm/amd/display/include/ddc_service_types.h | 154 + drivers/gpu/drm/amd/display/include/dpcd_defs.h | 149 + drivers/gpu/drm/amd/display/include/fixed31_32.h | 398 ++ drivers/gpu/drm/amd/display/include/fixed32_32.h | 83 + .../gpu/drm/amd/display/include/gpio_interface.h | 92 + .../amd/display/include/gpio_service_interface.h | 105 + drivers/gpu/drm/amd/display/include/gpio_types.h | 332 ++ .../amd/display/include/grph_object_ctrl_defs.h | 445 ++ .../gpu/drm/amd/display/include/grph_object_defs.h | 140 + .../gpu/drm/amd/display/include/grph_object_id.h | 256 + .../drm/amd/display/include/hw_sequencer_types.h | 33 + .../gpu/drm/amd/display/include/i2caux_interface.h | 92 + .../amd/display/include/irq_service_interface.h | 51 + .../drm/amd/display/include/link_service_types.h | 170 + .../gpu/drm/amd/display/include/logger_interface.h | 160 + drivers/gpu/drm/amd/display/include/logger_types.h | 134 + .../gpu/drm/amd/display/include/set_mode_types.h | 107 + drivers/gpu/drm/amd/display/include/signal_types.h | 52 + drivers/gpu/drm/amd/display/include/vector.h | 150 + .../gpu/drm/amd/display/modules/freesync/Makefile | 10 + .../drm/amd/display/modules/freesync/freesync.c | 1483 ++++++ .../gpu/drm/amd/display/modules/inc/mod_freesync.h | 167 + .../include/asic_reg/raven1/DCN/dcn_1_0_offset.h | 6 + .../include/asic_reg/raven1/DCN/dcn_1_0_sh_mask.h | 5 + include/drm/drm_dp_helper.h | 20 + 368 files changed, 129598 insertions(+), 75 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_display.h create mode 100644 drivers/gpu/drm/amd/display/Kconfig create mode 100644 drivers/gpu/drm/amd/display/Makefile create mode 100644 drivers/gpu/drm/amd/display/TODO create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/Makefile create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.h create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c create mode 100644 drivers/gpu/drm/amd/display/dc/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/basics/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/basics/conversion.c create mode 100644 drivers/gpu/drm/amd/display/dc/basics/conversion.h create mode 100644 drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c create mode 100644 drivers/gpu/drm/amd/display/dc/basics/fixpt32_32.c create mode 100644 drivers/gpu/drm/amd/display/dc/basics/grph_object_id.c create mode 100644 drivers/gpu/drm/amd/display/dc/basics/log_helpers.c create mode 100644 drivers/gpu/drm/amd/display/dc/basics/logger.c create mode 100644 drivers/gpu/drm/amd/display/dc/basics/logger.h create mode 100644 drivers/gpu/drm/amd/display/dc/basics/signal_types.c create mode 100644 drivers/gpu/drm/amd/display/dc/basics/vector.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/bios/bios_parser.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/bios_parser.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/bios_parser2.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/bios_parser_interface.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/bios_parser_types_internal.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/bios_parser_types_internal2.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/command_table.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/command_table.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/command_table2.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/command_table2.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/command_table_helper.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/command_table_helper.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/command_table_helper2.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/command_table_helper2.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/dce110/command_table_helper_dce110.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/dce110/command_table_helper_dce110.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper2_dce112.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper2_dce112.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper_dce112.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/dce112/command_table_helper_dce112.h create mode 100644 drivers/gpu/drm/amd/display/dc/bios/dce80/command_table_helper_dce80.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/dce80/command_table_helper_dce80.h create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/bw_fixed.c create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/custom_float.c create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/dcn_calc_auto.c create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/dcn_calc_auto.h create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/dcn_calc_math.c create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/dcn_calc_math.h create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_debug.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_link.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_resource.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_sink.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_stream.c create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_surface.c create mode 100644 drivers/gpu/drm/amd/display/dc/dc.h create mode 100644 drivers/gpu/drm/amd/display/dc/dc_bios_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/dc_ddc_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/dc_dp_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/dc_helper.c create mode 100644 drivers/gpu/drm/amd/display/dc/dc_hw_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/dc_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_abm.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_audio.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_audio.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_clocks.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_ipp.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_ipp.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_opp.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_opp.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_transform.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dce_transform.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce100/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_csc_v.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_regamma_v.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_opp_v.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_timing_generator_v.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_transform_v.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_transform_v.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce110/dce110_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce112/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce112/dce112_compressor.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce112/dce112_hw_sequencer.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce120/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce120/dce120_hw_sequencer.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce120/dce120_timing_generator.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce80/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_hw_sequencer.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.h create mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_timing_generator.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_timing_generator.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp_cm.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp_cm_helper.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp_cm_helper.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp_dscl.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dwb.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dwb.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_timing_generator.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_timing_generator.h create mode 100644 drivers/gpu/drm/amd/display/dc/dm_helpers.h create mode 100644 drivers/gpu/drm/amd/display/dc/dm_pp_smu.h create mode 100644 drivers/gpu/drm/amd/display/dc/dm_services.h create mode 100644 drivers/gpu/drm/amd/display/dc/dm_services_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dc_features.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_mode_enums.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_mode_structs.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_mode_support.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_mode_support.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_pipe_clocks.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_pipe_clocks.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_calc.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_calc.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_helpers.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_helpers.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_watermark.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_watermark.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/soc_bounding_box.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/soc_bounding_box.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce110/hw_factory_dce110.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce110/hw_factory_dce110.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce110/hw_translate_dce110.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce110/hw_translate_dce110.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce120/hw_factory_dce120.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce120/hw_factory_dce120.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce120/hw_translate_dce120.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce120/hw_translate_dce120.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce80/hw_factory_dce80.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce80/hw_factory_dce80.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce80/hw_translate_dce80.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dce80/hw_translate_dce80.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dcn10/hw_factory_dcn10.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dcn10/hw_factory_dcn10.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dcn10/hw_translate_dcn10.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dcn10/hw_translate_dcn10.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/ddc_regs.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/diagnostics/hw_factory_diag.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/diagnostics/hw_factory_diag.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/diagnostics/hw_translate_diag.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/diagnostics/hw_translate_diag.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/gpio_regs.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/gpio_service.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hpd_regs.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_factory.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/hw_translate.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_hw_engine_dce110.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2c_sw_engine_dce110.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_hw_engine_dce80.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2c_sw_engine_dce80.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dce80/i2caux_dce80.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/diagnostics/i2caux_diag.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/engine.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/engine_base.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2c_engine.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2c_generic_hw_engine.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2c_hw_engine.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2c_sw_engine.h create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c create mode 100644 drivers/gpu/drm/amd/display/dc/i2caux/i2caux.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/bw_fixed.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/clock_source.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/compressor.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/core_status.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/core_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/custom_float.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/dcn_calcs.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/abm.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/audio.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/display_clock.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/dwb.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/gpio.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/ipp.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/opp.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/timing_generator.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/transform.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/link_hwss.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/reg_helper.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/resource.h create mode 100644 drivers/gpu/drm/amd/display/dc/irq/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.h create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.c create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dce120/irq_service_dce120.h create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.c create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dce80/irq_service_dce80.h create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.c create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dcn10/irq_service_dcn10.h create mode 100644 drivers/gpu/drm/amd/display/dc/irq/irq_service.c create mode 100644 drivers/gpu/drm/amd/display/dc/irq/irq_service.h create mode 100644 drivers/gpu/drm/amd/display/dc/irq_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/os_types.h create mode 100644 drivers/gpu/drm/amd/display/dc/virtual/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/virtual/virtual_link_encoder.c create mode 100644 drivers/gpu/drm/amd/display/dc/virtual/virtual_link_encoder.h create mode 100644 drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c create mode 100644 drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.h create mode 100644 drivers/gpu/drm/amd/display/include/audio_types.h create mode 100644 drivers/gpu/drm/amd/display/include/bios_parser_interface.h create mode 100644 drivers/gpu/drm/amd/display/include/bios_parser_types.h create mode 100644 drivers/gpu/drm/amd/display/include/dal_asic_id.h create mode 100644 drivers/gpu/drm/amd/display/include/dal_types.h create mode 100644 drivers/gpu/drm/amd/display/include/ddc_service_types.h create mode 100644 drivers/gpu/drm/amd/display/include/dpcd_defs.h create mode 100644 drivers/gpu/drm/amd/display/include/fixed31_32.h create mode 100644 drivers/gpu/drm/amd/display/include/fixed32_32.h create mode 100644 drivers/gpu/drm/amd/display/include/gpio_interface.h create mode 100644 drivers/gpu/drm/amd/display/include/gpio_service_interface.h create mode 100644 drivers/gpu/drm/amd/display/include/gpio_types.h create mode 100644 drivers/gpu/drm/amd/display/include/grph_object_ctrl_defs.h create mode 100644 drivers/gpu/drm/amd/display/include/grph_object_defs.h create mode 100644 drivers/gpu/drm/amd/display/include/grph_object_id.h create mode 100644 drivers/gpu/drm/amd/display/include/hw_sequencer_types.h create mode 100644 drivers/gpu/drm/amd/display/include/i2caux_interface.h create mode 100644 drivers/gpu/drm/amd/display/include/irq_service_interface.h create mode 100644 drivers/gpu/drm/amd/display/include/link_service_types.h create mode 100644 drivers/gpu/drm/amd/display/include/logger_interface.h create mode 100644 drivers/gpu/drm/amd/display/include/logger_types.h create mode 100644 drivers/gpu/drm/amd/display/include/set_mode_types.h create mode 100644 drivers/gpu/drm/amd/display/include/signal_types.h create mode 100644 drivers/gpu/drm/amd/display/include/vector.h create mode 100644 drivers/gpu/drm/amd/display/modules/freesync/Makefile create mode 100644 drivers/gpu/drm/amd/display/modules/freesync/freesync.c create mode 100644 drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h