aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/files/1059-drm-amd-dal-Use-dce110-audio-for-dce112.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/files/1059-drm-amd-dal-Use-dce110-audio-for-dce112.patch')
-rw-r--r--meta-amdfalconx86/recipes-kernel/linux/files/1059-drm-amd-dal-Use-dce110-audio-for-dce112.patch620
1 files changed, 0 insertions, 620 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/files/1059-drm-amd-dal-Use-dce110-audio-for-dce112.patch b/meta-amdfalconx86/recipes-kernel/linux/files/1059-drm-amd-dal-Use-dce110-audio-for-dce112.patch
deleted file mode 100644
index 3b29a25f..00000000
--- a/meta-amdfalconx86/recipes-kernel/linux/files/1059-drm-amd-dal-Use-dce110-audio-for-dce112.patch
+++ /dev/null
@@ -1,620 +0,0 @@
-From bd1f37712022f6ca489104cf356f760314f0b1bd Mon Sep 17 00:00:00 2001
-From: Harry Wentland <harry.wentland@amd.com>
-Date: Wed, 20 Apr 2016 16:42:09 -0400
-Subject: [PATCH 1059/1110] drm/amd/dal: Use dce110 audio for dce112
-
-The code and registers are the same for both. No need
-to duplicate code.
-
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Acked-by: Harry Wentland <harry.wentland@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/dal/dc/audio/Makefile | 7 -
- drivers/gpu/drm/amd/dal/dc/audio/audio_base.c | 6 +-
- .../gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.c | 451 ---------------------
- .../gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.h | 40 --
- .../amd/dal/dc/audio/dce112/hw_ctx_audio_dce112.h | 47 ---
- 5 files changed, 1 insertion(+), 550 deletions(-)
- delete mode 100644 drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.c
- delete mode 100644 drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.h
- delete mode 100644 drivers/gpu/drm/amd/dal/dc/audio/dce112/hw_ctx_audio_dce112.h
-
-diff --git a/drivers/gpu/drm/amd/dal/dc/audio/Makefile b/drivers/gpu/drm/amd/dal/dc/audio/Makefile
-index 9a9a64c..90bdaa6 100644
---- a/drivers/gpu/drm/amd/dal/dc/audio/Makefile
-+++ b/drivers/gpu/drm/amd/dal/dc/audio/Makefile
-@@ -33,10 +33,3 @@ AMD_DAL_AUDIO_DCE11 = $(addprefix $(AMDDALPATH)/dc/audio/dce110/,$(AUDIO_DCE11))
- AMD_DAL_FILES += $(AMD_DAL_AUDIO_DCE11)
- endif
-
--ifdef CONFIG_DRM_AMD_DAL_DCE11_2
--AUDIO_DCE112 = audio_dce112.o hw_ctx_audio_dce112.o
--
--AMD_DAL_AUDIO_DCE112 = $(addprefix $(AMDDALPATH)/dc/audio/dce112/,$(AUDIO_DCE112))
--
--AMD_DAL_FILES += $(AMD_DAL_AUDIO_DCE112)
--endif
-diff --git a/drivers/gpu/drm/amd/dal/dc/audio/audio_base.c b/drivers/gpu/drm/amd/dal/dc/audio/audio_base.c
-index a8137e0..31c600c 100644
---- a/drivers/gpu/drm/amd/dal/dc/audio/audio_base.c
-+++ b/drivers/gpu/drm/amd/dal/dc/audio/audio_base.c
-@@ -40,10 +40,6 @@
- #include "dce110/hw_ctx_audio_dce110.h"
- #endif
-
--#if defined(CONFIG_DRM_AMD_DAL_DCE11_2)
--#include "dce112/audio_dce112.h"
--#include "dce112/hw_ctx_audio_dce112.h"
--#endif
-
- /***** static function : only used within audio.c *****/
-
-@@ -288,7 +284,7 @@ struct audio *dal_audio_create(
- #endif
- #if defined(CONFIG_DRM_AMD_DAL_DCE11_2)
- case DCE_VERSION_11_2:
-- return dal_audio_create_dce112(init_data);
-+ return dal_audio_create_dce110(init_data);
- #endif
- default:
- BREAK_TO_DEBUGGER();
-diff --git a/drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.c b/drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.c
-deleted file mode 100644
-index 66c32b0..0000000
---- a/drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.c
-+++ /dev/null
-@@ -1,451 +0,0 @@
--/*
-- * 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 "dm_services.h"
--
--#include "include/logger_interface.h"
--
--#include "audio_dce112.h"
--
--/***** static functions *****/
--
--static void destruct(struct audio_dce112 *audio)
--{
-- /*release memory allocated for hw_ctx -- allocated is initiated
-- *by audio_dce112 power_up
-- *audio->base->hw_ctx = NULL is done within hw-ctx->destroy
-- */
-- if (audio->base.hw_ctx)
-- audio->base.hw_ctx->funcs->destroy(&(audio->base.hw_ctx));
--
-- /* reset base_audio_block */
-- dal_audio_destruct_base(&audio->base);
--}
--
--static void destroy(struct audio **ptr)
--{
-- struct audio_dce112 *audio = NULL;
--
-- audio = container_of(*ptr, struct audio_dce112, base);
--
-- destruct(audio);
--
-- /* release memory allocated for audio_dce112*/
-- dm_free(audio);
-- *ptr = NULL;
--}
--
--/* The inital call of hook function comes from audio object level.
-- *The passing object handle "struct audio *audio" point to base object
-- *already.There is not need to get base object from audio_dce112.
-- */
--
--/**
--* setup
--*
--* @brief
--* setup Audio HW block, to be called by dal_audio_setup
--*
--*/
--static enum audio_result setup(
-- struct audio *audio,
-- struct audio_output *output,
-- struct audio_info *info)
--{
-- switch (output->signal) {
-- case SIGNAL_TYPE_HDMI_TYPE_A:
-- /*setup HDMI audio engine*/
-- audio->hw_ctx->funcs->enable_afmt_clock(
-- audio->hw_ctx,
-- output->engine_id,
-- true);
-- audio->hw_ctx->funcs->setup_hdmi_audio(
-- audio->hw_ctx, output->engine_id, &output->crtc_info);
--
-- audio->hw_ctx->funcs->setup_azalia(
-- audio->hw_ctx,
-- output->engine_id,
-- output->signal,
-- &output->crtc_info,
-- &output->pll_info,
-- info);
-- break;
--
-- case SIGNAL_TYPE_WIRELESS:
-- /* setup Azalia block for Wireless Display - This
-- is different than for wired
-- displays because there is no
-- DIG to program.*/
-- /*TODO:
-- audio->hw_ctx->funcs->setup_azalia_for_vce(
-- audio->hw_ctx,
-- audio->signal,
-- audio->crtc_info,
-- info);
-- */
-- break;
-- case SIGNAL_TYPE_DISPLAY_PORT:
-- case SIGNAL_TYPE_DISPLAY_PORT_MST:
-- case SIGNAL_TYPE_EDP:
-- /* setup DP audio engine will be done at enable output */
--
-- /* setup Azalia block*/
-- audio->hw_ctx->funcs->setup_azalia(
-- audio->hw_ctx,
-- output->engine_id,
-- output->signal,
-- &output->crtc_info,
-- &output->pll_info,
-- info);
--
-- break;
-- default:
-- return AUDIO_RESULT_ERROR;
-- }
--
-- return AUDIO_RESULT_OK;
--}
--
--/**
--* enable_output
--*
--* @brief
--* enable Audio HW block, to be called by dal_audio_enable_output
--*/
--static enum audio_result enable_output(
-- struct audio *audio,
-- enum engine_id engine_id,
-- enum signal_type signal)
--{
-- /* enable audio output */
-- switch (signal) {
-- case SIGNAL_TYPE_HDMI_TYPE_A:
-- break;
-- case SIGNAL_TYPE_DISPLAY_PORT:
-- case SIGNAL_TYPE_DISPLAY_PORT_MST:
-- case SIGNAL_TYPE_EDP: {
-- /* enable AFMT clock before enable audio*/
-- audio->hw_ctx->funcs->enable_afmt_clock(
-- audio->hw_ctx, engine_id, true);
-- /* setup DP audio engine */
-- audio->hw_ctx->funcs->setup_dp_audio(
-- audio->hw_ctx, engine_id);
-- /* enabl DP audio packets will be done at unblank */
-- audio->hw_ctx->funcs->enable_dp_audio(
-- audio->hw_ctx, engine_id);
-- }
-- break;
-- case SIGNAL_TYPE_WIRELESS:
-- /* route audio to VCE block */
-- audio->hw_ctx->funcs->setup_vce_audio(audio->hw_ctx);
-- break;
-- default:
-- return AUDIO_RESULT_ERROR;
-- }
-- return AUDIO_RESULT_OK;
--}
--
--/**
--* disable_output
--*
--* @brief
--* disable Audio HW block, to be called by dal_audio_disable_output
--*
--*/
--static enum audio_result disable_output(
-- struct audio *audio,
-- enum engine_id engine_id,
-- enum signal_type signal)
--{
-- switch (signal) {
-- case SIGNAL_TYPE_HDMI_TYPE_A:
-- case SIGNAL_TYPE_WIRELESS:
-- /* disable HDMI audio */
-- audio->hw_ctx->
-- funcs->disable_azalia_audio(
-- audio->hw_ctx, engine_id);
-- audio->hw_ctx->
-- funcs->enable_afmt_clock(
-- audio->hw_ctx, engine_id,
-- false);
--
-- break;
-- case SIGNAL_TYPE_DISPLAY_PORT:
-- case SIGNAL_TYPE_DISPLAY_PORT_MST:
-- case SIGNAL_TYPE_EDP: {
-- /* disable DP audio */
-- audio->hw_ctx->funcs->disable_dp_audio(
-- audio->hw_ctx, engine_id);
-- audio->hw_ctx->funcs->disable_azalia_audio(
-- audio->hw_ctx, engine_id);
-- audio->hw_ctx->funcs->enable_afmt_clock(
-- audio->hw_ctx, engine_id, false);
-- }
-- break;
-- default:
-- return AUDIO_RESULT_ERROR;
-- }
--
-- return AUDIO_RESULT_OK;
--}
--
--/**
--* unmute
--*
--* @brief
--* unmute audio, to be called by dal_audio_unmute
--*
--*/
--static enum audio_result unmute(
-- struct audio *audio,
-- enum engine_id engine_id,
-- enum signal_type signal)
--{
-- switch (signal) {
-- case SIGNAL_TYPE_HDMI_TYPE_A:
-- case SIGNAL_TYPE_DISPLAY_PORT:
-- case SIGNAL_TYPE_DISPLAY_PORT_MST:
-- case SIGNAL_TYPE_EDP:
-- /* unmute Azalia audio */
-- audio->hw_ctx->funcs->unmute_azalia_audio(
-- audio->hw_ctx, engine_id);
-- break;
-- case SIGNAL_TYPE_WIRELESS:
-- /*Do nothing for wireless display*/
-- break;
-- default:
-- return AUDIO_RESULT_ERROR;
-- }
-- return AUDIO_RESULT_OK;
--}
--
--/**
--* mute
--*
--* @brief
--* mute audio, to be called by dal_audio_nmute
--*
--*/
--static enum audio_result mute(
-- struct audio *audio,
-- enum engine_id engine_id,
-- enum signal_type signal)
--{
-- switch (signal) {
-- case SIGNAL_TYPE_HDMI_TYPE_A:
-- case SIGNAL_TYPE_DISPLAY_PORT:
-- case SIGNAL_TYPE_DISPLAY_PORT_MST:
-- case SIGNAL_TYPE_EDP:
-- /* mute Azalia audio */
-- audio->hw_ctx->funcs->mute_azalia_audio(
-- audio->hw_ctx, engine_id);
-- break;
-- case SIGNAL_TYPE_WIRELESS:
-- /*Do nothing for wireless display*/
-- break;
-- default:
-- return AUDIO_RESULT_ERROR;
-- }
-- return AUDIO_RESULT_OK;
--}
--
--/**
--* initialize
--*
--* @brief
--* Perform SW initialization - create audio hw context. Then do HW
--* initialization. this function is called at dal_audio_power_up.
--*
--*/
--static enum audio_result initialize(
-- struct audio *audio)
--{
-- uint8_t audio_endpoint_enum_id = 0;
--
-- audio_endpoint_enum_id = audio->id.enum_id;
--
-- /* HW CTX already create*/
-- if (audio->hw_ctx != NULL)
-- return AUDIO_RESULT_OK;
--
-- audio->hw_ctx = dal_hw_ctx_audio_dce112_create(
-- audio->ctx,
-- audio_endpoint_enum_id);
--
-- if (audio->hw_ctx == NULL)
-- return AUDIO_RESULT_ERROR;
--
-- /* override HW default settings */
-- audio->hw_ctx->funcs->hw_initialize(audio->hw_ctx);
--
-- return AUDIO_RESULT_OK;
--}
--
--/* enable multi channel split */
--static void enable_channel_splitting_mapping(
-- struct audio *audio,
-- enum engine_id engine_id,
-- enum signal_type signal,
-- const struct audio_channel_associate_info *audio_mapping,
-- bool enable)
--{
-- audio->hw_ctx->funcs->setup_channel_splitting_mapping(
-- audio->hw_ctx,
-- engine_id,
-- signal,
-- audio_mapping, enable);
--}
--
--/* get current multi channel split. */
--static enum audio_result get_channel_splitting_mapping(
-- struct audio *audio,
-- enum engine_id engine_id,
-- struct audio_channel_associate_info *audio_mapping)
--{
-- if (audio->hw_ctx->funcs->get_channel_splitting_mapping(
-- audio->hw_ctx, engine_id, audio_mapping)) {
-- return AUDIO_RESULT_OK;
-- } else {
-- return AUDIO_RESULT_ERROR;
-- }
--}
--
--/**
--* set_unsolicited_response_payload
--*
--* @brief
--* Set payload value for the unsolicited response
--*/
--static void set_unsolicited_response_payload(
-- struct audio *audio,
-- enum audio_payload payload)
--{
-- audio->hw_ctx->funcs->set_unsolicited_response_payload(
-- audio->hw_ctx, payload);
--}
--
--/**
--* setup_audio_wall_dto
--*
--* @brief
--* Update audio source clock from hardware context.
--*
--*/
--static void setup_audio_wall_dto(
-- struct audio *audio,
-- enum signal_type signal,
-- const struct audio_crtc_info *crtc_info,
-- const struct audio_pll_info *pll_info)
--{
-- audio->hw_ctx->funcs->setup_audio_wall_dto(
-- audio->hw_ctx, signal, crtc_info, pll_info);
--}
--
--/**
--* get_supported_features
--*
--* @brief
--* options and features supported by Audio
--* returns supported engines, signals.
--* features are reported for HW audio/Azalia block rather then Audio object
--* itself the difference for DCE6.x is that MultiStream Audio is now supported
--*
--*/
--static struct audio_feature_support get_supported_features(struct audio *audio)
--{
-- struct audio_feature_support afs = {0};
--
-- afs.ENGINE_DIGA = 1;
-- afs.ENGINE_DIGB = 1;
-- afs.ENGINE_DIGC = 1;
-- afs.MULTISTREAM_AUDIO = 1;
--
-- return afs;
--}
--
--static const struct audio_funcs funcs = {
-- .destroy = destroy,
-- .setup = setup,
-- .enable_output = enable_output,
-- .disable_output = disable_output,
-- .unmute = unmute,
-- .mute = mute,
-- .initialize = initialize,
-- .enable_channel_splitting_mapping =
-- enable_channel_splitting_mapping,
-- .get_channel_splitting_mapping =
-- get_channel_splitting_mapping,
-- .set_unsolicited_response_payload =
-- set_unsolicited_response_payload,
-- .setup_audio_wall_dto = setup_audio_wall_dto,
-- .get_supported_features = get_supported_features,
--};
--
--static bool construct(
-- struct audio_dce112 *audio,
-- const struct audio_init_data *init_data)
--{
-- struct audio *base = &audio->base;
--
-- /* base audio construct*/
-- if (!dal_audio_construct_base(base, init_data))
-- return false;
--
-- /*vtable methods*/
-- base->funcs = &funcs;
-- return true;
--}
--
--/* --- audio scope functions --- */
--
--struct audio *dal_audio_create_dce112(
-- const struct audio_init_data *init_data)
--{
-- /*allocate memory for audio_dce112 */
-- struct audio_dce112 *audio = dm_alloc(sizeof(*audio));
--
-- if (audio == NULL) {
-- ASSERT_CRITICAL(audio);
-- return NULL;
-- }
-- /*pointer to base_audio_block of audio_dce112 ==> audio base object */
-- if (construct(audio, init_data))
-- return &audio->base;
--
-- dal_logger_write(
-- init_data->ctx->logger,
-- LOG_MAJOR_ERROR,
-- LOG_MINOR_COMPONENT_AUDIO,
-- "Failed to create audio object for DCE11\n");
--
-- /*release memory allocated if fail */
-- dm_free(audio);
-- return NULL;
--}
--
--/* Do not need expose construct_dce112 and destruct_dce112 becuase there is
-- *derived object after dce112
-- */
--
-diff --git a/drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.h b/drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.h
-deleted file mode 100644
-index 7c8d71c..0000000
---- a/drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.h
-+++ /dev/null
-@@ -1,40 +0,0 @@
--/*
-- * 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
-- *
-- */
--#ifndef __DAL_AUDIO_DCE_112_H__
--#define __DAL_AUDIO_DCE_112_H__
--
--#include "audio/audio.h"
--#include "audio/hw_ctx_audio.h"
--#include "audio/dce112/hw_ctx_audio_dce112.h"
--
--struct audio_dce112 {
-- struct audio base;
-- /* dce-specific members are following */
-- /* none */
--};
--
--struct audio *dal_audio_create_dce112(const struct audio_init_data *init_data);
--
--#endif /*__DAL_AUDIO_DCE_112_H__*/
-diff --git a/drivers/gpu/drm/amd/dal/dc/audio/dce112/hw_ctx_audio_dce112.h b/drivers/gpu/drm/amd/dal/dc/audio/dce112/hw_ctx_audio_dce112.h
-deleted file mode 100644
-index af61aad..0000000
---- a/drivers/gpu/drm/amd/dal/dc/audio/dce112/hw_ctx_audio_dce112.h
-+++ /dev/null
-@@ -1,47 +0,0 @@
--/*
-- * 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
-- *
-- */
--
--#ifndef __DAL_HW_CTX_AUDIO_DCE112_H__
--#define __DAL_HW_CTX_AUDIO_DCE112_H__
--
--#include "audio/hw_ctx_audio.h"
--
--struct hw_ctx_audio_dce112 {
-- struct hw_ctx_audio base;
--
-- /* azalia stream id 1 based indexing, corresponding to audio GO enumId*/
-- uint32_t azalia_stream_id;
--
-- /* azalia stream endpoint register offsets */
-- struct azalia_reg_offsets az_mm_reg_offsets;
--
-- /* audio encoder block MM register offset -- associate with DIG FRONT */
--};
--
--struct hw_ctx_audio *dal_hw_ctx_audio_dce112_create(
-- struct dc_context *ctx,
-- uint32_t azalia_stream_id);
--
--#endif /* __DAL_HW_CTX_AUDIO_DCE110_H__ */
---
-2.7.4
-