linux/drivers/gpu/drm/radeon/radeon_combios.c

/*
 * Copyright 2004 ATI Technologies Inc., Markham, Ontario
 * Copyright 2007-8 Advanced Micro Devices, Inc.
 * Copyright 2008 Red Hat 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: Dave Airlie
 *          Alex Deucher
 */

#include <linux/pci.h>

#include <drm/drm_device.h>
#include <drm/drm_edid.h>
#include <drm/radeon_drm.h>

#include "radeon.h"
#include "radeon_legacy_encoders.h"
#include "atom.h"

#ifdef CONFIG_PPC_PMAC
/* not sure which of these are needed */
#include <asm/machdep.h>
#include <asm/pmac_feature.h>
#include <asm/prom.h>
#endif /* CONFIG_PPC_PMAC */

/* old legacy ATI BIOS routines */

/* COMBIOS table offsets */
enum radeon_combios_table_offset {};

enum radeon_combios_ddc {};

enum radeon_combios_connector {};

static const int legacy_connector_convert[] =;

static uint16_t combios_get_table_offset(struct drm_device *dev,
					 enum radeon_combios_table_offset table)
{}

bool radeon_combios_check_hardcoded_edid(struct radeon_device *rdev)
{}

/* this is used for atom LCDs as well */
struct edid *
radeon_bios_get_hardcoded_edid(struct radeon_device *rdev)
{}

static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rdev,
						       enum radeon_combios_ddc ddc,
						       u32 clk_mask,
						       u32 data_mask)
{}

static struct radeon_i2c_bus_rec radeon_combios_get_i2c_info_from_table(struct radeon_device *rdev)
{}

void radeon_combios_i2c_init(struct radeon_device *rdev)
{}

bool radeon_combios_get_clock_info(struct drm_device *dev)
{}

bool radeon_combios_sideport_present(struct radeon_device *rdev)
{}

static const uint32_t default_primarydac_adj[CHIP_LAST] =;

static void radeon_legacy_get_primary_dac_info_from_table(struct radeon_device *rdev,
							  struct radeon_encoder_primary_dac *p_dac)
{}

struct radeon_encoder_primary_dac *radeon_combios_get_primary_dac_info(struct
								       radeon_encoder
								       *encoder)
{}

enum radeon_tv_std
radeon_combios_get_tv_info(struct radeon_device *rdev)
{}

static const uint32_t default_tvdac_adj[CHIP_LAST] =;

static void radeon_legacy_get_tv_dac_info_from_table(struct radeon_device *rdev,
						     struct radeon_encoder_tv_dac *tv_dac)
{}

struct radeon_encoder_tv_dac *radeon_combios_get_tv_dac_info(struct
							     radeon_encoder
							     *encoder)
{}

static struct radeon_encoder_lvds *radeon_legacy_get_lvds_info_from_regs(struct
									 radeon_device
									 *rdev)
{}

struct radeon_encoder_lvds *radeon_combios_get_lvds_info(struct radeon_encoder
							 *encoder)
{}

static const struct radeon_tmds_pll default_tmds_pll[CHIP_LAST][4] =;

bool radeon_legacy_get_tmds_info_from_table(struct radeon_encoder *encoder,
					    struct radeon_encoder_int_tmds *tmds)
{}

bool radeon_legacy_get_tmds_info_from_combios(struct radeon_encoder *encoder,
					      struct radeon_encoder_int_tmds *tmds)
{}

bool radeon_legacy_get_ext_tmds_info_from_table(struct radeon_encoder *encoder,
						struct radeon_encoder_ext_tmds *tmds)
{}

bool radeon_legacy_get_ext_tmds_info_from_combios(struct radeon_encoder *encoder,
						  struct radeon_encoder_ext_tmds *tmds)
{}

bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
{}

static bool radeon_apply_legacy_quirks(struct drm_device *dev,
				       int bios_index,
				       enum radeon_combios_connector
				       *legacy_connector,
				       struct radeon_i2c_bus_rec *ddc_i2c,
				       struct radeon_hpd *hpd)
{}

static bool radeon_apply_legacy_tv_quirks(struct drm_device *dev)
{}

static uint16_t combios_check_dl_dvi(struct drm_device *dev, int is_dvi_d)
{}

bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
{}

static const char *thermal_controller_names[] =;

void radeon_combios_get_power_modes(struct radeon_device *rdev)
{}

void radeon_external_tmds_setup(struct drm_encoder *encoder)
{}

bool radeon_combios_external_tmds_setup(struct drm_encoder *encoder)
{}

static void combios_parse_mmio_table(struct drm_device *dev, uint16_t offset)
{}

static void combios_parse_pll_table(struct drm_device *dev, uint16_t offset)
{}

static void combios_parse_ram_reset_table(struct drm_device *dev,
					  uint16_t offset)
{}

static uint32_t combios_detect_ram(struct drm_device *dev, int ram,
				   int mem_addr_mapping)
{}

static void combios_write_ram_size(struct drm_device *dev)
{}

void radeon_combios_asic_init(struct drm_device *dev)
{}

void radeon_combios_initialize_bios_scratch_regs(struct drm_device *dev)
{}

void radeon_combios_output_lock(struct drm_encoder *encoder, bool lock)
{}

void
radeon_combios_connected_scratch_regs(struct drm_connector *connector,
				      struct drm_encoder *encoder,
				      bool connected)
{}

void
radeon_combios_encoder_crtc_scratch_regs(struct drm_encoder *encoder, int crtc)
{}

void
radeon_combios_encoder_dpms_scratch_regs(struct drm_encoder *encoder, bool on)
{}