cregit-Linux how code gets into the kernel

Release 4.17 drivers/gpu/drm/amd/display/dc/bios/bios_parser_common.c

/*
 * Copyright 2012-15 Advanced Micro Devices, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *
 * Authors: AMD
 *
 */

#include "bios_parser_common.h"
#include "include/grph_object_ctrl_defs.h"


static enum object_type object_type_from_bios_object_id(uint32_t bios_object_id) { uint32_t bios_object_type = (bios_object_id & OBJECT_TYPE_MASK) >> OBJECT_TYPE_SHIFT; enum object_type object_type; switch (bios_object_type) { case GRAPH_OBJECT_TYPE_GPU: object_type = OBJECT_TYPE_GPU; break; case GRAPH_OBJECT_TYPE_ENCODER: object_type = OBJECT_TYPE_ENCODER; break; case GRAPH_OBJECT_TYPE_CONNECTOR: object_type = OBJECT_TYPE_CONNECTOR; break; case GRAPH_OBJECT_TYPE_ROUTER: object_type = OBJECT_TYPE_ROUTER; break; case GRAPH_OBJECT_TYPE_GENERIC: object_type = OBJECT_TYPE_GENERIC; break; default: object_type = OBJECT_TYPE_UNKNOWN; break; } return object_type; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie80100.00%1100.00%
Total80100.00%1100.00%


static enum object_enum_id enum_id_from_bios_object_id(uint32_t bios_object_id) { uint32_t bios_enum_id = (bios_object_id & ENUM_ID_MASK) >> ENUM_ID_SHIFT; enum object_enum_id id; switch (bios_enum_id) { case GRAPH_OBJECT_ENUM_ID1: id = ENUM_ID_1; break; case GRAPH_OBJECT_ENUM_ID2: id = ENUM_ID_2; break; case GRAPH_OBJECT_ENUM_ID3: id = ENUM_ID_3; break; case GRAPH_OBJECT_ENUM_ID4: id = ENUM_ID_4; break; case GRAPH_OBJECT_ENUM_ID5: id = ENUM_ID_5; break; case GRAPH_OBJECT_ENUM_ID6: id = ENUM_ID_6; break; case GRAPH_OBJECT_ENUM_ID7: id = ENUM_ID_7; break; default: id = ENUM_ID_UNKNOWN; break; } return id; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie96100.00%1100.00%
Total96100.00%1100.00%


static uint32_t gpu_id_from_bios_object_id(uint32_t bios_object_id) { return (bios_object_id & OBJECT_ID_MASK) >> OBJECT_ID_SHIFT; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie18100.00%1100.00%
Total18100.00%1100.00%


static enum encoder_id encoder_id_from_bios_object_id(uint32_t bios_object_id) { uint32_t bios_encoder_id = gpu_id_from_bios_object_id(bios_object_id); enum encoder_id id; switch (bios_encoder_id) { case ENCODER_OBJECT_ID_INTERNAL_LVDS: id = ENCODER_ID_INTERNAL_LVDS; break; case ENCODER_OBJECT_ID_INTERNAL_TMDS1: id = ENCODER_ID_INTERNAL_TMDS1; break; case ENCODER_OBJECT_ID_INTERNAL_TMDS2: id = ENCODER_ID_INTERNAL_TMDS2; break; case ENCODER_OBJECT_ID_INTERNAL_DAC1: id = ENCODER_ID_INTERNAL_DAC1; break; case ENCODER_OBJECT_ID_INTERNAL_DAC2: id = ENCODER_ID_INTERNAL_DAC2; break; case ENCODER_OBJECT_ID_INTERNAL_LVTM1: id = ENCODER_ID_INTERNAL_LVTM1; break; case ENCODER_OBJECT_ID_HDMI_INTERNAL: id = ENCODER_ID_INTERNAL_HDMI; break; case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: id = ENCODER_ID_INTERNAL_KLDSCP_TMDS1; break; case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1: id = ENCODER_ID_INTERNAL_KLDSCP_DAC1; break; case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2: id = ENCODER_ID_INTERNAL_KLDSCP_DAC2; break; case ENCODER_OBJECT_ID_MVPU_FPGA: id = ENCODER_ID_EXTERNAL_MVPU_FPGA; break; case ENCODER_OBJECT_ID_INTERNAL_DDI: id = ENCODER_ID_INTERNAL_DDI; break; case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: id = ENCODER_ID_INTERNAL_UNIPHY; break; case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: id = ENCODER_ID_INTERNAL_KLDSCP_LVTMA; break; case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: id = ENCODER_ID_INTERNAL_UNIPHY1; break; case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: id = ENCODER_ID_INTERNAL_UNIPHY2; break; case ENCODER_OBJECT_ID_ALMOND: /* ENCODER_OBJECT_ID_NUTMEG */ id = ENCODER_ID_EXTERNAL_NUTMEG; break; case ENCODER_OBJECT_ID_TRAVIS: id = ENCODER_ID_EXTERNAL_TRAVIS; break; case ENCODER_OBJECT_ID_INTERNAL_UNIPHY3: id = ENCODER_ID_INTERNAL_UNIPHY3; break; default: id = ENCODER_ID_UNKNOWN; ASSERT(0); break; } return id; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie195100.00%1100.00%
Total195100.00%1100.00%


static enum connector_id connector_id_from_bios_object_id( uint32_t bios_object_id) { uint32_t bios_connector_id = gpu_id_from_bios_object_id(bios_object_id); enum connector_id id; switch (bios_connector_id) { case CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I: id = CONNECTOR_ID_SINGLE_LINK_DVII; break; case CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I: id = CONNECTOR_ID_DUAL_LINK_DVII; break; case CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D: id = CONNECTOR_ID_SINGLE_LINK_DVID; break; case CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D: id = CONNECTOR_ID_DUAL_LINK_DVID; break; case CONNECTOR_OBJECT_ID_VGA: id = CONNECTOR_ID_VGA; break; case CONNECTOR_OBJECT_ID_HDMI_TYPE_A: id = CONNECTOR_ID_HDMI_TYPE_A; break; case CONNECTOR_OBJECT_ID_LVDS: id = CONNECTOR_ID_LVDS; break; case CONNECTOR_OBJECT_ID_PCIE_CONNECTOR: id = CONNECTOR_ID_PCIE; break; case CONNECTOR_OBJECT_ID_HARDCODE_DVI: id = CONNECTOR_ID_HARDCODE_DVI; break; case CONNECTOR_OBJECT_ID_DISPLAYPORT: id = CONNECTOR_ID_DISPLAY_PORT; break; case CONNECTOR_OBJECT_ID_eDP: id = CONNECTOR_ID_EDP; break; case CONNECTOR_OBJECT_ID_MXM: id = CONNECTOR_ID_MXM; break; default: id = CONNECTOR_ID_UNKNOWN; break; } return id; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie133100.00%1100.00%
Total133100.00%1100.00%


static enum generic_id generic_id_from_bios_object_id(uint32_t bios_object_id) { uint32_t bios_generic_id = gpu_id_from_bios_object_id(bios_object_id); enum generic_id id; switch (bios_generic_id) { case GENERIC_OBJECT_ID_MXM_OPM: id = GENERIC_ID_MXM_OPM; break; case GENERIC_OBJECT_ID_GLSYNC: id = GENERIC_ID_GLSYNC; break; case GENERIC_OBJECT_ID_STEREO_PIN: id = GENERIC_ID_STEREO; break; default: id = GENERIC_ID_UNKNOWN; break; } return id; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie61100.00%1100.00%
Total61100.00%1100.00%


static uint32_t id_from_bios_object_id(enum object_type type, uint32_t bios_object_id) { switch (type) { case OBJECT_TYPE_GPU: return gpu_id_from_bios_object_id(bios_object_id); case OBJECT_TYPE_ENCODER: return (uint32_t)encoder_id_from_bios_object_id(bios_object_id); case OBJECT_TYPE_CONNECTOR: return (uint32_t)connector_id_from_bios_object_id( bios_object_id); case OBJECT_TYPE_GENERIC: return generic_id_from_bios_object_id(bios_object_id); default: return 0; } }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie65100.00%1100.00%
Total65100.00%1100.00%


struct graphics_object_id object_id_from_bios_object_id(uint32_t bios_object_id) { enum object_type type; enum object_enum_id enum_id; struct graphics_object_id go_id = { 0 }; type = object_type_from_bios_object_id(bios_object_id); if (OBJECT_TYPE_UNKNOWN == type) return go_id; enum_id = enum_id_from_bios_object_id(bios_object_id); if (ENUM_ID_UNKNOWN == enum_id) return go_id; go_id = dal_graphics_object_id_init( id_from_bios_object_id(type, bios_object_id), enum_id, type); return go_id; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie76100.00%1100.00%
Total76100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Dave Airlie731100.00%1100.00%
Total731100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.