From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933465AbcI3MPA (ORCPT ); Fri, 30 Sep 2016 08:15:00 -0400 Received: from mail-cys01nam02on0047.outbound.protection.outlook.com ([104.47.37.47]:49120 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933363AbcI3MOm (ORCPT ); Fri, 30 Sep 2016 08:14:42 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Christian.Koenig@amd.com; Subject: Re: [PATCH 2/3] drm/radeon: clean function declarations up To: Baoyou Xie , , References: <1475223273-19779-1-git-send-email-baoyou.xie@linaro.org> CC: , , , , , From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <2df0a538-75f3-81d3-e52f-420e64264191@amd.com> Date: Fri, 30 Sep 2016 13:59:00 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <1475223273-19779-1-git-send-email-baoyou.xie@linaro.org> Content-Type: text/plain; charset="iso-8859-15"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [2a02:908:1251:7981:88fc:ef2c:682f:68c5] X-ClientProxiedBy: HE1PR02CA0047.eurprd02.prod.outlook.com (10.163.170.15) To BN6PR12MB1297.namprd12.prod.outlook.com (10.168.227.147) X-MS-Office365-Filtering-Correlation-Id: 3094547b-7abe-494e-40cc-08d3e9293460 X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1297;2:nGTuHkSMrQeSkH22APHYpLm8H6+PCvTz1ybdenzy8VV9meYdu+6FKucgPPi01eQnjsRyjyZvNBpT66OrHj9TKv7+9VWrE0pWxIraSfl+E/K0NibeVEvivEjz/+GpgyMt/Co7Bh0jeQnh3C3W1Sz/LjMj8yWJ85XjathQDHmqi9i4TYU/47t/XsQuPyTuAOCF;3:dKDVLtLP6X32IoaXshTwc8bkKSuAaL7rhRPsNjD9ixevza0CHdljgAXEjp8xAvluGuKSEUmnCObc3MhQe3KdRjWTMwnrAdBRGaUhMvBu//kF3PRbE80EKK/mkRkWend0 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1297; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1297;25:qjwAUOHRbylg12Ot0OwUO1ed+qncLWzUd9r/t9LdG4SRNRZ5nfBKFDmXZjiXpMGsyNMRCej8iLH7+A0wmlFWk2dRkpdwqo2RAuJ/t9+wWNkBFyfDMnOSXjHpSDTzI3uqeZbLCEQ/qVdq2wUiaXCwqdOeTLgCUK8+74xWkHTviCkccVBn6JY6MyOCBYri/MGm6CqBUmzKxrhsh3y96BhRr88uTCGd4C3c9fpaQLsSmqyy2xgpB42oQ5WpeBfTJRWH1y3ZrO2eftWB3c+O4UJdyDcfE9jqLQxug8hTj9sz6stq5x4RE6gYjr4uyPm0ObkyYW2UvGFtuULTDqzRUW33T3QvVC0qN245sB6SJ55vQn7SxIJEth11zlxKKtiSli7KhPm4ILazyqAkSFXe6foRTEcYr/lWXD01rmQwCGw/hfJFUa/XbOvM0cOUCKeH/uzBO8bYtg4+qpXYpetj36Zd+zyV4IXApHV32AscWt3zIZlOIc3SaQ9Ecep6bGIf87Ctwe4D489eYPSsBibpjdc1Bd8yVi/gwQRQlKU8y6M9+55GScsNB+ZMjbHtq1BdMu4rf88ZjmkGzNEnE3FKsE/LlTD8xpkJ+6XNeYLbo2UiWi4cQWBQIsqYwFpVkSoIlehT0oCOEeA/1iM3L/tz+VCZFvxfcr+6OvKziYpyBkxlsJDN5eH+v7NTQyAksZHTTS9vwW1/lfgoAulwNTBVAhXa4cmMvZ5lEMV0UGWy8UWUs3mSf8F9AZeQEZLI027gGUVtYvyFlbqmwBUokICINM5ALamj3FIWlWQNzdQk+w2Ey6E= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1297;31:spEjIU1+YteWCoNJ3seXB8jO7Tvz3P0w2ekCF13jpuOwtXOeWuSUi5LPIKoa1g6DozGtXkXQ9MNrM0LOt3VKFbJgWTqoTGXsCBbFlb7s0KSa4mipy5oruJsCfsoWx2BRBuc059WrZWxr8xpqR/3IkIRHfcwxdK1Gw7Zy4+5FuUAKWmpRCsng/OV1m9aM9gg80KIQUcRwZ5YYrj7kldm9sYSrM/UHJ3joeyf1iuBgiRLejtwoq5BMvp9WOBG5bCGu;20:rVs5zWydIjHpGWwGVmIC8T9KNe+jxAD++baBXclYXLWiQNsgqcu6QRGveilzeJknPHPZ08+bXi063aNcM1LrGSNQx+wvf+x7/Glf4pKGD6PBQ7q8yK0gUtbLHS0tcbjaoil7+9zJRXNd0hvpF+0W0leFD4YK+Z3p6obdhJecp325AMApgCoYiIF3SM8w4wAlwrrKKgbNWDZWb/4uvoDtw2Jk9QRpRu/cXzAzUfhBj9f7AXIjKhKbS+rS6aqaiL3DoWDJyl82kh8xuUR/POjR+jXiSzrYmhGQBqK3+yTxBiktDGrA7v+AUYsXuBRatF3YBq8pur6lNoCIRv+iKugYNPuUtF9HvZu33xGqWf9uIafU0I+gx10nW8jHYCKoLKpaoavqU5Wx3omWO0pgn1hSIm4tSp1NPsBR4nABabgdFblNwUM/B0DuRFSuKVb+elcvI2yeKY54T4mrXd9T2LK0fMl6FwiTZnn+SzFG23luwKKRVcxqrx+2xINijdMXEOyN X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:BN6PR12MB1297;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1297; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1297;4:aZ5AJlPX4aCpYx9UK4W6if+v+cXkde7saE9YQbJ7ZavO32TPLjJSKtJHSUApB8FHCXgfeaDwv/zJFkmUnhaKCwPgdyZTNseSCJRCEZvbH4cxQOUez3FMpcEvDnjMuHZ8Z6xZ5peT/pNGnzYfS854MwZ4LSoGG7pP66VjczeIRk0QxjfQxOpHVSGZpYeVKc9eZgvVsSCE5ddmo6ZOPb0taaKxKO5/PucaH8Kp7aI6RjN/oEsbtHkP9Nu75Hyi2Pi+rt1UUPqpViRDYoN59vSqBw8QbRhnnsVC/ezBWFGyUNul8st19OBXR5UPV9AkpOUpgT7+0mFA9xB59hJ1pwZ2yuOg7n/irCOGIh7Wy924lpu3RKMZ4J/WbUJP6EZr8Ss7Yo4QFq3oAWT/BgE7Db9AfctAGXQFrImFMltZsziwqV+PYHx48k3UBvFRqrL277tc X-Forefront-PRVS: 008184426E X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(199003)(64126003)(23756003)(4001350100001)(97736004)(5001770100001)(36756003)(7736002)(7846002)(19580395003)(4326007)(81166006)(19580405001)(305945005)(81156014)(5660300001)(47776003)(50466002)(65826007)(31696002)(5890100001)(65806001)(2201001)(2950100002)(6666003)(65956001)(2870700001)(86362001)(575784001)(83506001)(77096005)(68736007)(2906002)(76176999)(50986999)(54356999)(92566002)(101416001)(189998001)(1706002)(6116002)(8676002)(105586002)(42186005)(31686004)(586003)(33646002)(106356001)(3826002)(2101003)(579004);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1297;H:[IPv6:2a02:908:1251:7981:88fc:ef2c:682f:68c5];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-15?Q?1;BN6PR12MB1297;23:NSjkgsibbVfpKtA7W7tr7G4HU5lTSEPinkZqsb?= =?iso-8859-15?Q?gbqmJFgecMqITqkt3dyVd/d4A+M4Vu8b1n6jF63Wfn3esdaBvxvXBdzt5?= =?iso-8859-15?Q?abKFdSMfwFx24xHRlT/F8fabdEX8yMEku12C/29fjwbCHSqCnGDPy4+4/?= =?iso-8859-15?Q?X7cy7jjwXVncauVQEHPF/ecU7D5dnlomGQAtI6juN+eLj7t7JYowK/Bkf?= =?iso-8859-15?Q?JgVeoXB6xmV7efiQVCeGQp+/aC+EIOLVlMHToAVDUdMu9ynq3ixQtczjQ?= =?iso-8859-15?Q?CnyGQ/oHkYxvXfcUec3md1T/O/zLQAUgXYK48P8B3LP60p1ry5ZpDJ5Bx?= =?iso-8859-15?Q?bE10mWA/W9T8iBXywgkSkN2KuM3o3k+4fLWSmqWvMIVaz5CMowt0f2uKn?= =?iso-8859-15?Q?slSRJbdLHmPqRtA1t9YIh790PXzmC2FwOLqPohHkjb8KnYCC6lrZri/SG?= =?iso-8859-15?Q?XTpULjnW00qdP7cb+xb//7/6Ec9y7gjYUoif15vpa0018eGxNwVDuymVq?= =?iso-8859-15?Q?eHDxRAJ+fITTCZWhYeYpwJ+jL+5R6Zz6hZDGyKhqJeeC14RS5Rl0TPGjI?= =?iso-8859-15?Q?a/iNyU82VAcO12/ux6JsVR8KJkhAa5tIl1A3cmiHXdbRNebx2LE6Zj1QX?= =?iso-8859-15?Q?tbXhtS9Z7GqseRQ0CA8dwwzSNIde+XSnT7rzET1/oQT2NQk1egnlZ/GW1?= =?iso-8859-15?Q?cXtkMtHWmKtcSex3JTd3H6SW2Tjhl1H2hxwgMcCpuP1M9VTZjfw3oMDXs?= =?iso-8859-15?Q?txdCReZvn4Ll2S2oA16nC/NXprjW06uwtGWD6TVUWioLUwB0h04L2t6Ky?= =?iso-8859-15?Q?qvjWXAlUfC9PMcDvT3PQvU0/vudYOpjuDNgFuAbRDro1BbnizeaOFA2nE?= =?iso-8859-15?Q?s4iQzFrh0hHyBrQJIDoirU/JyIoK2U3btqpAJ7JNUFZ0z5jK2EY1/OAw8?= =?iso-8859-15?Q?5MpwPnwisnKVhwzf/WACY0O1h4irT9TA8Y5J0wurIJpdO38n+OEpbisa2?= =?iso-8859-15?Q?8iYDtN/5MFEvZhmGGNWSy7WJtZs6JaZXk0aBi+okszxhVhwJ+0GP+GQCd?= =?iso-8859-15?Q?D8V6LNpgY+xyB2TshVajoEUwqu9h7Tc4ib811cAyR8wJ8ZR/K5wYa8edG?= =?iso-8859-15?Q?oh2rifr7W7Y6nwcJLY1Tr17+kVZZMSDtYmlzEjto9DzrZ6JnctS4ZHD6J?= =?iso-8859-15?Q?B0l4aL3FBWFZStKso9srf5Vvpiw+fkpcFwKfj09HgZKJIASSumFrloVME?= =?iso-8859-15?Q?zZ3suPcBsjaxnxdrkcvy8N3Q+ONYau5qLwBNChP4bqPnoIIgpRSDA7xhk?= =?iso-8859-15?Q?agulsvEsDajPOVcBqnKmUHyRIdJbRFBZkxW6qbZdoQEIS6fpLu++IV3Th?= =?iso-8859-15?Q?Mt6rx9vm01tFhqVrB+dwS9iaoPpCRMga4Ouh5w88Pj/iUuW+zVoL5rZoc?= =?iso-8859-15?Q?h+VVl3zUK0SMz/SAQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1297;6:GOsnuyFF0TGzLX6JPS7dJRkX9yKpQUbYtEtQfx3jG7V1X75AFf6mgg+hkVGolZilvbRrf9yF9th9Ue2GZqNWJOGghV28rASAfotgpR0UWogKtH5B1myB2+tbhz4U+asAXH/5S+aZ/uR4i0ROgpvXOeQoj/cNVW5Xv8ed24/XyAbcyqgY0PA72AD4M3UDjcBMKc0yDlj86gZXZFDDTioM09g3nLbz0AqT350aceBkRDdsSPILX078baNGEfXOcNhvyTzQwPxBWrKH1BBmjLJbEu5b17FFBjL4La2IWkyuoJZtGx/iTuegrZNOPHaOCb0mq8BRtu2IY4B/iZZV0gnWKg==;5:t2f/LjST48qE/QRJ5erCmoBPvz9nlixQiI0EnX5Q8/beTCscPbuCY+hX9Rfm8c5X50Cv9WwrVTS5Om7AJOj6raICeBn8FsBCTI8RB50jjTVxvJ1FQSFaboV/BgmX+yPomIMSs22KjgWFWXxpw+Mvug==;24:X9FIiM/wgtcuJbct84EiaDmh/Ee9M1qUn2AEgpwo0mJIOFQHOrtVRfqn/ffeosVY0oVLIMKEO6ZluVVak7v1M6p9jGvepJ+7mCO8oaxKKQU=;7:dpKzp8Mpazcxi7j/g0u7IqaHWtzUEMFOGtvbfR9UfTab9djlwPN60bMeuWFH9VoiMkTWLnpdVIIfzXRkVmJZrMpa6R7GTBV0SPbMqGYJS3shTjTBrQKS/b5rMW9rFDj43Ltq7Yaioz1/b+5EQwemv2YmmvabhCqaoNdp34snBr4qGqVEnwcGfz8/QLFQwfu6gv+YPaL2hQFU/+10mSk5D8dMQiwwYPFi445dQ2tPOhUR5xNT/V1LkEC5+9hpMO/68v++GXFQ208PkJ2OeDX0sngM51AyF/eeQfqrlDy2VNtguVPRAfBcoqCK+PDU+xNb SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1297;20:A1L7NvFaJUb21rbMpHGxw0L75diPMlF0OxqimWENWGgquy+1HEKPEd/KPgfe7nUoWZS0/swvL57mOyX8rFqeX/xWZx7DzBiYQ+JZMecUNfZc5y4wAYIP4bGkFU6qFEiCiIt5FADnCOtPuiNFkIpk6Ki59/Y2bZ6KzsBrqxYCNB6851Q3KEjDn6BYxo5S83Fy5JcmqVVrZMw99wYSVoBab8piSBxrl1f1Mx0vHdE6w1YUHe+K6MeFH4YKnimqhFHT X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2016 11:59:15.3331 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1297 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ah! Here is patch #2. I'm indeed not deeply into the atombios stuff, so it probably was correct to not CC me :) Anyway patch is Acked-by: Christian König . Cheers, Christian. Am 30.09.2016 um 10:14 schrieb Baoyou Xie: > We get a few warnings when building kernel with W=1: > drivers/gpu/drm/radeon/radeon_device.c:642:6: warning: no previous prototype for 'radeon_device_is_virtual' [-Wmissing-prototypes] > drivers/gpu/drm/radeon/radeon_kms.c:56:5: warning: no previous prototype for 'radeon_driver_unload_kms' [-Wmissing-prototypes] > drivers/gpu/drm/radeon/radeon_kms.c:97:5: warning: no previous prototype for 'radeon_driver_load_kms' [-Wmissing-prototypes] > drivers/gpu/drm/radeon/radeon_kms.c:612:6: warning: no previous prototype for 'radeon_driver_lastclose_kms' [-Wmissing-prototypes] > .... > > In fact, these functions are declared in some source files, > but should be declared in a header file, > thus can be recognized in other file. > > So this patch declares them in drivers/gpu/drm/radeon/radeon.h. > > Signed-off-by: Baoyou Xie > --- > drivers/gpu/drm/radeon/atombios_encoders.c | 4 - > drivers/gpu/drm/radeon/btc_dpm.c | 4 - > drivers/gpu/drm/radeon/ci_dpm.c | 10 -- > drivers/gpu/drm/radeon/cik.c | 14 -- > drivers/gpu/drm/radeon/cik_sdma.c | 2 - > drivers/gpu/drm/radeon/cypress_dpm.c | 4 - > drivers/gpu/drm/radeon/evergreen.c | 11 -- > drivers/gpu/drm/radeon/evergreen_cs.c | 2 - > drivers/gpu/drm/radeon/evergreen_dma.c | 2 - > drivers/gpu/drm/radeon/kv_dpm.c | 5 - > drivers/gpu/drm/radeon/ni.c | 11 -- > drivers/gpu/drm/radeon/ni_dma.c | 2 - > drivers/gpu/drm/radeon/ni_dpm.c | 3 - > drivers/gpu/drm/radeon/r600.c | 2 - > drivers/gpu/drm/radeon/r600_dma.c | 2 - > drivers/gpu/drm/radeon/radeon.h | 207 +++++++++++++++++++++++++++++ > drivers/gpu/drm/radeon/radeon_acpi.c | 2 - > drivers/gpu/drm/radeon/radeon_asic.h | 9 -- > drivers/gpu/drm/radeon/radeon_atombios.c | 9 -- > drivers/gpu/drm/radeon/radeon_audio.c | 63 --------- > drivers/gpu/drm/radeon/radeon_encoders.c | 8 -- > drivers/gpu/drm/radeon/radeon_i2c.c | 4 - > drivers/gpu/drm/radeon/radeon_kms.c | 6 +- > drivers/gpu/drm/radeon/radeon_object.c | 2 - > drivers/gpu/drm/radeon/rv730_dpm.c | 3 - > drivers/gpu/drm/radeon/rv740_dpm.c | 2 - > drivers/gpu/drm/radeon/si.c | 10 -- > drivers/gpu/drm/radeon/si_dma.c | 2 - > drivers/gpu/drm/radeon/si_dpm.c | 8 -- > drivers/gpu/drm/radeon/sumo_smc.c | 2 - > drivers/gpu/drm/radeon/trinity_dpm.c | 1 - > 31 files changed, 210 insertions(+), 206 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c > index fa4f8f0..2bbb916 100644 > --- a/drivers/gpu/drm/radeon/atombios_encoders.c > +++ b/drivers/gpu/drm/radeon/atombios_encoders.c > @@ -291,10 +291,6 @@ static void radeon_atom_backlight_exit(struct radeon_encoder *encoder) > > #endif > > -/* evil but including atombios.h is much worse */ > -bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index, > - struct drm_display_mode *mode); > - > static bool radeon_atom_mode_fixup(struct drm_encoder *encoder, > const struct drm_display_mode *mode, > struct drm_display_mode *adjusted_mode) > diff --git a/drivers/gpu/drm/radeon/btc_dpm.c b/drivers/gpu/drm/radeon/btc_dpm.c > index 38e5123..2b08cfd 100644 > --- a/drivers/gpu/drm/radeon/btc_dpm.c > +++ b/drivers/gpu/drm/radeon/btc_dpm.c > @@ -47,10 +47,6 @@ > #ifndef BTC_MGCG_SEQUENCE > #define BTC_MGCG_SEQUENCE 300 > > -struct rv7xx_ps *rv770_get_ps(struct radeon_ps *rps); > -struct rv7xx_power_info *rv770_get_pi(struct radeon_device *rdev); > -struct evergreen_power_info *evergreen_get_pi(struct radeon_device *rdev); > - > extern int ni_mc_load_microcode(struct radeon_device *rdev); > > //********* BARTS **************// > diff --git a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c > index 7ba4508..57ac808 100644 > --- a/drivers/gpu/drm/radeon/ci_dpm.c > +++ b/drivers/gpu/drm/radeon/ci_dpm.c > @@ -165,16 +165,6 @@ static const struct ci_pt_config_reg didt_config_ci[] = > extern u8 rv770_get_memory_module_index(struct radeon_device *rdev); > extern int ni_copy_and_switch_arb_sets(struct radeon_device *rdev, > u32 arb_freq_src, u32 arb_freq_dest); > -extern u8 si_get_ddr3_mclk_frequency_ratio(u32 memory_clock); > -extern u8 si_get_mclk_frequency_ratio(u32 memory_clock, bool strobe_mode); > -extern void si_trim_voltage_table_to_fit_state_table(struct radeon_device *rdev, > - u32 max_voltage_steps, > - struct atom_voltage_table *voltage_table); > -extern void cik_enter_rlc_safe_mode(struct radeon_device *rdev); > -extern void cik_exit_rlc_safe_mode(struct radeon_device *rdev); > -extern int ci_mc_load_microcode(struct radeon_device *rdev); > -extern void cik_update_cg(struct radeon_device *rdev, > - u32 block, bool enable); > > static int ci_get_std_voltage_value_sidd(struct radeon_device *rdev, > struct atom_voltage_table_entry *voltage_table, > diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c > index f6ff41a..7f2daf5 100644 > --- a/drivers/gpu/drm/radeon/cik.c > +++ b/drivers/gpu/drm/radeon/cik.c > @@ -118,21 +118,7 @@ MODULE_FIRMWARE("radeon/mullins_mec.bin"); > MODULE_FIRMWARE("radeon/mullins_rlc.bin"); > MODULE_FIRMWARE("radeon/mullins_sdma.bin"); > > -extern int r600_ih_ring_alloc(struct radeon_device *rdev); > -extern void r600_ih_ring_fini(struct radeon_device *rdev); > -extern void evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *save); > -extern void evergreen_mc_resume(struct radeon_device *rdev, struct evergreen_mc_save *save); > -extern bool evergreen_is_display_hung(struct radeon_device *rdev); > -extern void sumo_rlc_fini(struct radeon_device *rdev); > -extern int sumo_rlc_init(struct radeon_device *rdev); > -extern void si_vram_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc); > -extern void si_rlc_reset(struct radeon_device *rdev); > -extern void si_init_uvd_internal_cg(struct radeon_device *rdev); > static u32 cik_get_cu_active_bitmap(struct radeon_device *rdev, u32 se, u32 sh); > -extern int cik_sdma_resume(struct radeon_device *rdev); > -extern void cik_sdma_enable(struct radeon_device *rdev, bool enable); > -extern void cik_sdma_fini(struct radeon_device *rdev); > -extern void vce_v2_0_enable_mgcg(struct radeon_device *rdev, bool enable); > static void cik_rlc_stop(struct radeon_device *rdev); > static void cik_pcie_gen3_enable(struct radeon_device *rdev); > static void cik_program_aspm(struct radeon_device *rdev); > diff --git a/drivers/gpu/drm/radeon/cik_sdma.c b/drivers/gpu/drm/radeon/cik_sdma.c > index 9c351dc..5f0862d 100644 > --- a/drivers/gpu/drm/radeon/cik_sdma.c > +++ b/drivers/gpu/drm/radeon/cik_sdma.c > @@ -33,8 +33,6 @@ > #define CIK_SDMA_UCODE_SIZE 1050 > #define CIK_SDMA_UCODE_VERSION 64 > > -u32 cik_gpu_check_soft_reset(struct radeon_device *rdev); > - > /* > * sDMA - System DMA > * Starting with CIK, the GPU has new asynchronous > diff --git a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress_dpm.c > index a4edd07..3bdb82e 100644 > --- a/drivers/gpu/drm/radeon/cypress_dpm.c > +++ b/drivers/gpu/drm/radeon/cypress_dpm.c > @@ -42,10 +42,6 @@ > #define MC_CG_SEQ_YCLK_SUSPEND 0x04 > #define MC_CG_SEQ_YCLK_RESUME 0x0a > > -struct rv7xx_ps *rv770_get_ps(struct radeon_ps *rps); > -struct rv7xx_power_info *rv770_get_pi(struct radeon_device *rdev); > -struct evergreen_power_info *evergreen_get_pi(struct radeon_device *rdev); > - > static void cypress_enable_bif_dynamic_pcie_gen2(struct radeon_device *rdev, > bool enable) > { > diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c > index 0b6b576..943a696 100644 > --- a/drivers/gpu/drm/radeon/evergreen.c > +++ b/drivers/gpu/drm/radeon/evergreen.c > @@ -205,17 +205,6 @@ static void evergreen_gpu_init(struct radeon_device *rdev); > void evergreen_fini(struct radeon_device *rdev); > void evergreen_pcie_gen2_enable(struct radeon_device *rdev); > void evergreen_program_aspm(struct radeon_device *rdev); > -extern void cayman_cp_int_cntl_setup(struct radeon_device *rdev, > - int ring, u32 cp_int_cntl); > -extern void cayman_vm_decode_fault(struct radeon_device *rdev, > - u32 status, u32 addr); > -void cik_init_cp_pg_table(struct radeon_device *rdev); > - > -extern u32 si_get_csb_size(struct radeon_device *rdev); > -extern void si_get_csb_buffer(struct radeon_device *rdev, volatile u32 *buffer); > -extern u32 cik_get_csb_size(struct radeon_device *rdev); > -extern void cik_get_csb_buffer(struct radeon_device *rdev, volatile u32 *buffer); > -extern void rv770_set_clk_bypass_mode(struct radeon_device *rdev); > > static const u32 evergreen_golden_registers[] = > { > diff --git a/drivers/gpu/drm/radeon/evergreen_cs.c b/drivers/gpu/drm/radeon/evergreen_cs.c > index f8b0509..cfc4cc9 100644 > --- a/drivers/gpu/drm/radeon/evergreen_cs.c > +++ b/drivers/gpu/drm/radeon/evergreen_cs.c > @@ -37,8 +37,6 @@ > > #define REG_SAFE_BM_SIZE ARRAY_SIZE(evergreen_reg_safe_bm) > > -int r600_dma_cs_next_reloc(struct radeon_cs_parser *p, > - struct radeon_bo_list **cs_reloc); > struct evergreen_cs_track { > u32 group_size; > u32 nbanks; > diff --git a/drivers/gpu/drm/radeon/evergreen_dma.c b/drivers/gpu/drm/radeon/evergreen_dma.c > index 96535aa..67f350e 100644 > --- a/drivers/gpu/drm/radeon/evergreen_dma.c > +++ b/drivers/gpu/drm/radeon/evergreen_dma.c > @@ -26,8 +26,6 @@ > #include "radeon_asic.h" > #include "evergreend.h" > > -u32 evergreen_gpu_check_soft_reset(struct radeon_device *rdev); > - > /** > * evergreen_dma_fence_ring_emit - emit a fence on the DMA ring > * > diff --git a/drivers/gpu/drm/radeon/kv_dpm.c b/drivers/gpu/drm/radeon/kv_dpm.c > index a7e9786..dee537c 100644 > --- a/drivers/gpu/drm/radeon/kv_dpm.c > +++ b/drivers/gpu/drm/radeon/kv_dpm.c > @@ -58,11 +58,6 @@ static void kv_dpm_powergate_vce(struct radeon_device *rdev, bool gate); > static void kv_dpm_powergate_samu(struct radeon_device *rdev, bool gate); > static void kv_dpm_powergate_acp(struct radeon_device *rdev, bool gate); > > -extern void cik_enter_rlc_safe_mode(struct radeon_device *rdev); > -extern void cik_exit_rlc_safe_mode(struct radeon_device *rdev); > -extern void cik_update_cg(struct radeon_device *rdev, > - u32 block, bool enable); > - > static const struct kv_lcac_config_values sx_local_cac_cfg_kv[] = > { > { 0, 4, 1 }, > diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c > index 103fc86..1a69aa0 100644 > --- a/drivers/gpu/drm/radeon/ni.c > +++ b/drivers/gpu/drm/radeon/ni.c > @@ -187,20 +187,9 @@ static const u32 tn_rlc_save_restore_register_list[] = > 0x802c, > }; > > -extern bool evergreen_is_display_hung(struct radeon_device *rdev); > -extern void evergreen_print_gpu_status_regs(struct radeon_device *rdev); > -extern void evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *save); > -extern void evergreen_mc_resume(struct radeon_device *rdev, struct evergreen_mc_save *save); > extern int evergreen_mc_wait_for_idle(struct radeon_device *rdev); > -extern void evergreen_mc_program(struct radeon_device *rdev); > -extern void evergreen_irq_suspend(struct radeon_device *rdev); > -extern int evergreen_mc_init(struct radeon_device *rdev); > -extern void evergreen_fix_pci_max_read_req_size(struct radeon_device *rdev); > extern void evergreen_pcie_gen2_enable(struct radeon_device *rdev); > extern void evergreen_program_aspm(struct radeon_device *rdev); > -extern void sumo_rlc_fini(struct radeon_device *rdev); > -extern int sumo_rlc_init(struct radeon_device *rdev); > -extern void evergreen_gpu_pci_config_reset(struct radeon_device *rdev); > > /* Firmware Names */ > MODULE_FIRMWARE("radeon/BARTS_pfp.bin"); > diff --git a/drivers/gpu/drm/radeon/ni_dma.c b/drivers/gpu/drm/radeon/ni_dma.c > index ce787a9..62165f9d 100644 > --- a/drivers/gpu/drm/radeon/ni_dma.c > +++ b/drivers/gpu/drm/radeon/ni_dma.c > @@ -27,8 +27,6 @@ > #include "radeon_trace.h" > #include "nid.h" > > -u32 cayman_gpu_check_soft_reset(struct radeon_device *rdev); > - > /* > * DMA > * Starting with R600, the GPU has an asynchronous > diff --git a/drivers/gpu/drm/radeon/ni_dpm.c b/drivers/gpu/drm/radeon/ni_dpm.c > index 4a601f9..1ad4bf3 100644 > --- a/drivers/gpu/drm/radeon/ni_dpm.c > +++ b/drivers/gpu/drm/radeon/ni_dpm.c > @@ -718,9 +718,6 @@ static const u32 cayman_sysls_enable[] = > }; > #define CAYMAN_SYSLS_ENABLE_LENGTH sizeof(cayman_sysls_enable) / (3 * sizeof(u32)) > > -struct rv7xx_power_info *rv770_get_pi(struct radeon_device *rdev); > -struct evergreen_power_info *evergreen_get_pi(struct radeon_device *rdev); > - > extern int ni_mc_load_microcode(struct radeon_device *rdev); > > struct ni_power_info *ni_get_pi(struct radeon_device *rdev) > diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c > index a951881..dceafe5 100644 > --- a/drivers/gpu/drm/radeon/r600.c > +++ b/drivers/gpu/drm/radeon/r600.c > @@ -105,8 +105,6 @@ static void r600_gpu_init(struct radeon_device *rdev); > void r600_fini(struct radeon_device *rdev); > void r600_irq_disable(struct radeon_device *rdev); > static void r600_pcie_gen2_enable(struct radeon_device *rdev); > -extern int evergreen_rlc_resume(struct radeon_device *rdev); > -extern void rv770_set_clk_bypass_mode(struct radeon_device *rdev); > > /* > * Indirect registers accessor > diff --git a/drivers/gpu/drm/radeon/r600_dma.c b/drivers/gpu/drm/radeon/r600_dma.c > index fb65e6f..80c1b7a 100644 > --- a/drivers/gpu/drm/radeon/r600_dma.c > +++ b/drivers/gpu/drm/radeon/r600_dma.c > @@ -26,8 +26,6 @@ > #include "radeon_asic.h" > #include "r600d.h" > > -u32 r600_gpu_check_soft_reset(struct radeon_device *rdev); > - > /* > * DMA > * Starting with R600, the GPU has an asynchronous > diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h > index 1b0dcad..9c02fbc 100644 > --- a/drivers/gpu/drm/radeon/radeon.h > +++ b/drivers/gpu/drm/radeon/radeon.h > @@ -2976,4 +2976,211 @@ int r600_cs_common_vline_parse(struct radeon_cs_parser *p, > > #include "radeon_object.h" > > +extern bool radeon_device_is_virtual(void); > +extern int radeon_driver_unload_kms(struct drm_device *dev); > +extern int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags); > +extern void radeon_driver_lastclose_kms(struct drm_device *dev); > +extern int > +radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv); > +extern void radeon_driver_postclose_kms(struct drm_device *dev, > + struct drm_file *file_priv); > +extern void radeon_driver_preclose_kms(struct drm_device *dev, > + struct drm_file *file_priv); > +extern u32 > +radeon_get_vblank_counter_kms(struct drm_device *dev, unsigned int pipe); > +extern int radeon_enable_vblank_kms(struct drm_device *dev, unsigned int pipe); > +extern void > +radeon_disable_vblank_kms(struct drm_device *dev, unsigned int pipe); > +extern int > +radeon_get_vblank_timestamp_kms(struct drm_device *dev, unsigned int pipe, > + int *max_error, struct timeval *vblank_time, > + unsigned int flags); > +bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index, > + struct drm_display_mode *mode); > +/* from radeon_object.c */ > +int radeon_ttm_init(struct radeon_device *rdev); > +void radeon_ttm_fini(struct radeon_device *rdev); > + > +extern int radeon_mmap(struct file *filp, struct vm_area_struct *vma); > + > +void radeon_legacy_backlight_init(struct radeon_encoder *radeon_encoder, > + struct drm_connector *drm_connector); > +void radeon_add_legacy_encoder(struct drm_device *dev, > + uint32_t encoder_enum, uint32_t supported_device); > + > +extern void radeon_gem_object_free(struct drm_gem_object *obj); > +extern int radeon_gem_object_open(struct drm_gem_object *obj, > + struct drm_file *file_priv); > +extern void radeon_gem_object_close(struct drm_gem_object *obj, > + struct drm_file *file_priv); > +extern irqreturn_t radeon_driver_irq_handler_kms(int irq, void *arg); > +extern void radeon_driver_irq_preinstall_kms(struct drm_device *dev); > +extern int radeon_driver_irq_postinstall_kms(struct drm_device *dev); > +extern void radeon_driver_irq_uninstall_kms(struct drm_device *dev); > + > +u32 r600_gpu_check_soft_reset(struct radeon_device *rdev); > +int r600_ih_ring_alloc(struct radeon_device *rdev); > +void r600_ih_ring_fini(struct radeon_device *rdev); > +void rv770_set_clk_bypass_mode(struct radeon_device *rdev); > +void radeon_pm_acpi_event_handler(struct radeon_device *rdev); > +void r600_hdmi_update_acr(struct drm_encoder *encoder, long offset, > + const struct radeon_hdmi_acr *acr); > +void r600_set_avi_packet(struct radeon_device *rdev, u32 offset, > + unsigned char *buffer, size_t size); > +void r600_hdmi_audio_set_dto(struct radeon_device *rdev, > + struct radeon_crtc *crtc, unsigned int clock); > +void r600_set_vbi_packet(struct drm_encoder *encoder, u32 offset); > +void r600_set_audio_packet(struct drm_encoder *encoder, u32 offset); > +void r600_set_mute(struct drm_encoder *encoder, u32 offset, bool mute); > +void r600_hdmi_enable(struct drm_encoder *encoder, bool enable); > +void dce3_2_afmt_hdmi_write_speaker_allocation(struct drm_encoder *encoder, > + u8 *sadb, int sad_count); > +void dce3_2_afmt_dp_write_speaker_allocation(struct drm_encoder *encoder, > + u8 *sadb, int sad_count); > +void dce3_2_afmt_write_sad_regs(struct drm_encoder *encoder, > + struct cea_sad *sads, int sad_count); > +void dce3_2_audio_set_dto(struct radeon_device *rdev, > + struct radeon_crtc *crtc, unsigned int clock); > +void dce3_2_hdmi_update_acr(struct drm_encoder *encoder, long offset, > + const struct radeon_hdmi_acr *acr); > +void dce3_2_set_audio_packet(struct drm_encoder *encoder, u32 offset); > +void dce3_2_set_mute(struct drm_encoder *encoder, u32 offset, bool mute); > + > +/* > + * evergreen > + */ > +struct evergreen_mc_save { > + u32 vga_render_control; > + u32 vga_hdp_control; > + bool crtc_enabled[RADEON_MAX_CRTCS]; > +}; > + > +void evergreen_fix_pci_max_read_req_size(struct radeon_device *rdev); > +u32 evergreen_get_number_of_dram_channels(struct radeon_device *rdev); > +void > +evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *save); > +void > +evergreen_mc_resume(struct radeon_device *rdev, struct evergreen_mc_save *save); > +void evergreen_mc_program(struct radeon_device *rdev); > +int evergreen_mc_init(struct radeon_device *rdev); > +void evergreen_print_gpu_status_regs(struct radeon_device *rdev); > +bool evergreen_is_display_hung(struct radeon_device *rdev); > +u32 evergreen_gpu_check_soft_reset(struct radeon_device *rdev); > +void evergreen_gpu_pci_config_reset(struct radeon_device *rdev); > + > +void sumo_rlc_fini(struct radeon_device *rdev); > +int sumo_rlc_init(struct radeon_device *rdev); > +int evergreen_rlc_resume(struct radeon_device *rdev); > +void evergreen_irq_suspend(struct radeon_device *rdev); > +void dce4_audio_enable(struct radeon_device *rdev, struct r600_audio_pin *pin, > + u8 enable_mask); > +void evergreen_hdmi_update_acr(struct drm_encoder *encoder, long offset, > + const struct radeon_hdmi_acr *acr); > +void dce4_afmt_write_latency_fields(struct drm_encoder *encoder, > + struct drm_connector *connector, struct drm_display_mode *mode); > +void dce4_afmt_hdmi_write_speaker_allocation(struct drm_encoder *encoder, > + u8 *sadb, int sad_count); > +void dce4_afmt_dp_write_speaker_allocation(struct drm_encoder *encoder, > + u8 *sadb, int sad_count); > +void evergreen_hdmi_write_sad_regs(struct drm_encoder *encoder, > + struct cea_sad *sads, int sad_count); > +void evergreen_set_avi_packet(struct radeon_device *rdev, u32 offset, > + unsigned char *buffer, size_t size); > +void dce4_hdmi_audio_set_dto(struct radeon_device *rdev, > + struct radeon_crtc *crtc, unsigned int clock); > +void dce4_dp_audio_set_dto(struct radeon_device *rdev, > + struct radeon_crtc *crtc, unsigned int clock); > +void dce4_set_vbi_packet(struct drm_encoder *encoder, u32 offset); > +void dce4_hdmi_set_color_depth(struct drm_encoder *encoder, > + u32 offset, int bpc); > +void dce4_set_audio_packet(struct drm_encoder *encoder, u32 offset); > +void dce4_set_mute(struct drm_encoder *encoder, u32 offset, bool mute); > +void cayman_cp_int_cntl_setup(struct radeon_device *rdev, > + int ring, u32 cp_int_cntl); > +u32 cayman_gpu_check_soft_reset(struct radeon_device *rdev); > +void cayman_vm_decode_fault(struct radeon_device *rdev, > + u32 status, u32 addr); > +void evergreen_hdmi_enable(struct drm_encoder *encoder, bool enable); > +void evergreen_dp_enable(struct drm_encoder *encoder, bool enable); > + > +void radeon_atom_backlight_init(struct radeon_encoder *radeon_encoder, > + struct drm_connector *drm_connector); > +void radeon_add_atom_encoder(struct drm_device *dev, uint32_t encoder_enum, > + uint32_t supported_device, u16 caps); > +int radeon_atom_hw_i2c_xfer(struct i2c_adapter *i2c_adap, > + struct i2c_msg *msgs, int num); > +u32 radeon_atom_hw_i2c_func(struct i2c_adapter *adap); > + > +int si_mc_load_microcode(struct radeon_device *rdev); > +u32 si_gpu_check_soft_reset(struct radeon_device *rdev); > +void si_vram_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc); > +void si_init_uvd_internal_cg(struct radeon_device *rdev); > +u32 si_get_csb_size(struct radeon_device *rdev); > +void si_get_csb_buffer(struct radeon_device *rdev, volatile u32 *buffer); > +void si_rlc_reset(struct radeon_device *rdev); > + > +extern struct sg_table * > +radeon_gem_prime_get_sg_table(struct drm_gem_object *obj); > +extern void *radeon_gem_prime_vmap(struct drm_gem_object *obj); > +extern void radeon_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr); > + > +extern struct drm_gem_object * > +radeon_gem_prime_import_sg_table(struct drm_device *dev, > + struct dma_buf_attachment *attach, struct sg_table *sg); > + > +extern int radeon_gem_prime_pin(struct drm_gem_object *obj); > +extern void radeon_gem_prime_unpin(struct drm_gem_object *obj); > +extern struct reservation_object * > +radeon_gem_prime_res_obj(struct drm_gem_object *obj); > +extern struct dma_buf *radeon_gem_prime_export(struct drm_device *dev, > + struct drm_gem_object *gobj, int flags); > + > +int ci_mc_load_microcode(struct radeon_device *rdev); > +u32 cik_gpu_check_soft_reset(struct radeon_device *rdev); > +void cik_enter_rlc_safe_mode(struct radeon_device *rdev); > +void cik_exit_rlc_safe_mode(struct radeon_device *rdev); > +void cik_update_cg(struct radeon_device *rdev, u32 block, bool enable); > + > +void cik_init_cp_pg_table(struct radeon_device *rdev); > +u32 cik_get_csb_size(struct radeon_device *rdev); > + > +void cik_get_csb_buffer(struct radeon_device *rdev, volatile u32 *buffer); > +struct rv7xx_ps *rv770_get_ps(struct radeon_ps *rps); > +struct rv7xx_power_info *rv770_get_pi(struct radeon_device *rdev); > +struct evergreen_power_info *evergreen_get_pi(struct radeon_device *rdev); > +struct sumo_power_info *sumo_get_pi(struct radeon_device *rdev); > +struct ni_power_info *ni_get_pi(struct radeon_device *rdev); > +struct ni_ps *ni_get_ps(struct radeon_ps *rps); > + > +u8 si_get_ddr3_mclk_frequency_ratio(u32 memory_clock); > +u8 si_get_mclk_frequency_ratio(u32 memory_clock, bool strobe_mode); > +void si_trim_voltage_table_to_fit_state_table(struct radeon_device *rdev, > + u32 max_voltage_steps, > + struct atom_voltage_table *voltage_table); > +u32 dce6_endpoint_rreg(struct radeon_device *rdev, u32 offset, u32 reg); > +void dce6_endpoint_wreg(struct radeon_device *rdev, u32 offset, u32 reg, u32 v); > +void dce6_afmt_select_pin(struct drm_encoder *encoder); > +void dce6_afmt_write_latency_fields(struct drm_encoder *encoder, > + struct drm_connector *connector, struct drm_display_mode *mode); > +void dce6_afmt_hdmi_write_speaker_allocation(struct drm_encoder *encoder, > + u8 *sadb, int sad_count); > +void dce6_afmt_dp_write_speaker_allocation(struct drm_encoder *encoder, > + u8 *sadb, int sad_count); > +void dce6_afmt_write_sad_regs(struct drm_encoder *encoder, struct cea_sad *sads, > + int sad_count); > +void dce6_hdmi_audio_set_dto(struct radeon_device *rdev, > + struct radeon_crtc *crtc, unsigned int clock); > +void dce6_dp_audio_set_dto(struct radeon_device *rdev, struct radeon_crtc *crtc, > + unsigned int clock); > +void cik_sdma_enable(struct radeon_device *rdev, bool enable); > +int cik_sdma_resume(struct radeon_device *rdev); > +void cik_sdma_fini(struct radeon_device *rdev); > + > +void vce_v1_0_enable_mgcg(struct radeon_device *rdev, bool enable); > +void vce_v2_0_enable_mgcg(struct radeon_device *rdev, bool enable); > + > +int r600_dma_cs_next_reloc(struct radeon_cs_parser *p, > + struct radeon_bo_list **cs_reloc); > + > + > #endif > diff --git a/drivers/gpu/drm/radeon/radeon_acpi.c b/drivers/gpu/drm/radeon/radeon_acpi.c > index 6efbd65..231d01d 100644 > --- a/drivers/gpu/drm/radeon/radeon_acpi.c > +++ b/drivers/gpu/drm/radeon/radeon_acpi.c > @@ -41,8 +41,6 @@ static inline bool radeon_atpx_dgpu_req_power_for_displays(void) { return false; > > #define ACPI_AC_CLASS "ac_adapter" > > -extern void radeon_pm_acpi_event_handler(struct radeon_device *rdev); > - > struct atif_verify_interface { > u16 size; /* structure size in bytes (includes size field) */ > u16 version; /* version */ > diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h > index e3f036c..48b46fb 100644 > --- a/drivers/gpu/drm/radeon/radeon_asic.h > +++ b/drivers/gpu/drm/radeon/radeon_asic.h > @@ -498,15 +498,6 @@ bool rv770_dpm_vblank_too_short(struct radeon_device *rdev); > u32 rv770_dpm_get_current_sclk(struct radeon_device *rdev); > u32 rv770_dpm_get_current_mclk(struct radeon_device *rdev); > > -/* > - * evergreen > - */ > -struct evergreen_mc_save { > - u32 vga_render_control; > - u32 vga_hdp_control; > - bool crtc_enabled[RADEON_MAX_CRTCS]; > -}; > - > void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev); > int evergreen_init(struct radeon_device *rdev); > void evergreen_fini(struct radeon_device *rdev); > diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c > index 4134759..4d640de 100644 > --- a/drivers/gpu/drm/radeon/radeon_atombios.c > +++ b/drivers/gpu/drm/radeon/radeon_atombios.c > @@ -31,15 +31,6 @@ > #include "atom-bits.h" > #include "radeon_asic.h" > > -extern void > -radeon_add_atom_encoder(struct drm_device *dev, uint32_t encoder_enum, > - uint32_t supported_device, u16 caps); > - > -/* from radeon_legacy_encoder.c */ > -extern void > -radeon_add_legacy_encoder(struct drm_device *dev, uint32_t encoder_enum, > - uint32_t supported_device); > - > union atom_supported_devices { > struct _ATOM_SUPPORTED_DEVICES_INFO info; > struct _ATOM_SUPPORTED_DEVICES_INFO_2 info_2; > diff --git a/drivers/gpu/drm/radeon/radeon_audio.c b/drivers/gpu/drm/radeon/radeon_audio.c > index b214663..0303f07 100644 > --- a/drivers/gpu/drm/radeon/radeon_audio.c > +++ b/drivers/gpu/drm/radeon/radeon_audio.c > @@ -31,77 +31,14 @@ > > void r600_audio_enable(struct radeon_device *rdev, struct r600_audio_pin *pin, > u8 enable_mask); > -void dce4_audio_enable(struct radeon_device *rdev, struct r600_audio_pin *pin, > - u8 enable_mask); > void dce6_audio_enable(struct radeon_device *rdev, struct r600_audio_pin *pin, > u8 enable_mask); > -u32 dce6_endpoint_rreg(struct radeon_device *rdev, u32 offset, u32 reg); > -void dce6_endpoint_wreg(struct radeon_device *rdev, > - u32 offset, u32 reg, u32 v); > -void dce3_2_afmt_write_sad_regs(struct drm_encoder *encoder, > - struct cea_sad *sads, int sad_count); > -void evergreen_hdmi_write_sad_regs(struct drm_encoder *encoder, > - struct cea_sad *sads, int sad_count); > -void dce6_afmt_write_sad_regs(struct drm_encoder *encoder, > - struct cea_sad *sads, int sad_count); > -void dce3_2_afmt_hdmi_write_speaker_allocation(struct drm_encoder *encoder, > - u8 *sadb, int sad_count); > -void dce3_2_afmt_dp_write_speaker_allocation(struct drm_encoder *encoder, > - u8 *sadb, int sad_count); > -void dce4_afmt_hdmi_write_speaker_allocation(struct drm_encoder *encoder, > - u8 *sadb, int sad_count); > -void dce4_afmt_dp_write_speaker_allocation(struct drm_encoder *encoder, > - u8 *sadb, int sad_count); > -void dce6_afmt_hdmi_write_speaker_allocation(struct drm_encoder *encoder, > - u8 *sadb, int sad_count); > -void dce6_afmt_dp_write_speaker_allocation(struct drm_encoder *encoder, > - u8 *sadb, int sad_count); > -void dce4_afmt_write_latency_fields(struct drm_encoder *encoder, > - struct drm_connector *connector, struct drm_display_mode *mode); > -void dce6_afmt_write_latency_fields(struct drm_encoder *encoder, > - struct drm_connector *connector, struct drm_display_mode *mode); > struct r600_audio_pin* r600_audio_get_pin(struct radeon_device *rdev); > struct r600_audio_pin* dce6_audio_get_pin(struct radeon_device *rdev); > -void dce6_afmt_select_pin(struct drm_encoder *encoder); > -void r600_hdmi_audio_set_dto(struct radeon_device *rdev, > - struct radeon_crtc *crtc, unsigned int clock); > -void dce3_2_audio_set_dto(struct radeon_device *rdev, > - struct radeon_crtc *crtc, unsigned int clock); > -void dce4_hdmi_audio_set_dto(struct radeon_device *rdev, > - struct radeon_crtc *crtc, unsigned int clock); > -void dce4_dp_audio_set_dto(struct radeon_device *rdev, > - struct radeon_crtc *crtc, unsigned int clock); > -void dce6_hdmi_audio_set_dto(struct radeon_device *rdev, > - struct radeon_crtc *crtc, unsigned int clock); > -void dce6_dp_audio_set_dto(struct radeon_device *rdev, > - struct radeon_crtc *crtc, unsigned int clock); > -void r600_set_avi_packet(struct radeon_device *rdev, u32 offset, > - unsigned char *buffer, size_t size); > -void evergreen_set_avi_packet(struct radeon_device *rdev, u32 offset, > - unsigned char *buffer, size_t size); > -void r600_hdmi_update_acr(struct drm_encoder *encoder, long offset, > - const struct radeon_hdmi_acr *acr); > -void dce3_2_hdmi_update_acr(struct drm_encoder *encoder, long offset, > - const struct radeon_hdmi_acr *acr); > -void evergreen_hdmi_update_acr(struct drm_encoder *encoder, long offset, > - const struct radeon_hdmi_acr *acr); > -void r600_set_vbi_packet(struct drm_encoder *encoder, u32 offset); > -void dce4_set_vbi_packet(struct drm_encoder *encoder, u32 offset); > -void dce4_hdmi_set_color_depth(struct drm_encoder *encoder, > - u32 offset, int bpc); > -void r600_set_audio_packet(struct drm_encoder *encoder, u32 offset); > -void dce3_2_set_audio_packet(struct drm_encoder *encoder, u32 offset); > -void dce4_set_audio_packet(struct drm_encoder *encoder, u32 offset); > -void r600_set_mute(struct drm_encoder *encoder, u32 offset, bool mute); > -void dce3_2_set_mute(struct drm_encoder *encoder, u32 offset, bool mute); > -void dce4_set_mute(struct drm_encoder *encoder, u32 offset, bool mute); > static void radeon_audio_hdmi_mode_set(struct drm_encoder *encoder, > struct drm_display_mode *mode); > static void radeon_audio_dp_mode_set(struct drm_encoder *encoder, > struct drm_display_mode *mode); > -void r600_hdmi_enable(struct drm_encoder *encoder, bool enable); > -void evergreen_hdmi_enable(struct drm_encoder *encoder, bool enable); > -void evergreen_dp_enable(struct drm_encoder *encoder, bool enable); > > static const u32 pin_offsets[7] = > { > diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c > index c6ee802..675153e 100644 > --- a/drivers/gpu/drm/radeon/radeon_encoders.c > +++ b/drivers/gpu/drm/radeon/radeon_encoders.c > @@ -29,14 +29,6 @@ > #include "radeon.h" > #include "atom.h" > > -extern void > -radeon_legacy_backlight_init(struct radeon_encoder *radeon_encoder, > - struct drm_connector *drm_connector); > -extern void > -radeon_atom_backlight_init(struct radeon_encoder *radeon_encoder, > - struct drm_connector *drm_connector); > - > - > static uint32_t radeon_encoder_clones(struct drm_encoder *encoder) > { > struct drm_device *dev = encoder->dev; > diff --git a/drivers/gpu/drm/radeon/radeon_i2c.c b/drivers/gpu/drm/radeon/radeon_i2c.c > index 021aa00..3941588 100644 > --- a/drivers/gpu/drm/radeon/radeon_i2c.c > +++ b/drivers/gpu/drm/radeon/radeon_i2c.c > @@ -31,10 +31,6 @@ > #include "radeon.h" > #include "atom.h" > > -extern int radeon_atom_hw_i2c_xfer(struct i2c_adapter *i2c_adap, > - struct i2c_msg *msgs, int num); > -extern u32 radeon_atom_hw_i2c_func(struct i2c_adapter *adap); > - > /** > * radeon_ddc_probe > * > diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c > index 4388dde..f089485 100644 > --- a/drivers/gpu/drm/radeon/radeon_kms.c > +++ b/drivers/gpu/drm/radeon/radeon_kms.c > @@ -830,7 +830,7 @@ u32 radeon_get_vblank_counter_kms(struct drm_device *dev, unsigned int pipe) > * Enable the interrupt on the requested crtc (all asics). > * Returns 0 on success, -EINVAL on failure. > */ > -int radeon_enable_vblank_kms(struct drm_device *dev, int crtc) > +int radeon_enable_vblank_kms(struct drm_device *dev, unsigned int crtc) > { > struct radeon_device *rdev = dev->dev_private; > unsigned long irqflags; > @@ -856,7 +856,7 @@ int radeon_enable_vblank_kms(struct drm_device *dev, int crtc) > * > * Disable the interrupt on the requested crtc (all asics). > */ > -void radeon_disable_vblank_kms(struct drm_device *dev, int crtc) > +void radeon_disable_vblank_kms(struct drm_device *dev, unsigned int crtc) > { > struct radeon_device *rdev = dev->dev_private; > unsigned long irqflags; > @@ -885,7 +885,7 @@ void radeon_disable_vblank_kms(struct drm_device *dev, int crtc) > * scanout position. (all asics). > * Returns postive status flags on success, negative error on failure. > */ > -int radeon_get_vblank_timestamp_kms(struct drm_device *dev, int crtc, > +int radeon_get_vblank_timestamp_kms(struct drm_device *dev, unsigned int crtc, > int *max_error, > struct timeval *vblank_time, > unsigned flags) > diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c > index be30861..841aa89 100644 > --- a/drivers/gpu/drm/radeon/radeon_object.c > +++ b/drivers/gpu/drm/radeon/radeon_object.c > @@ -38,8 +38,6 @@ > #include "radeon_trace.h" > > > -int radeon_ttm_init(struct radeon_device *rdev); > -void radeon_ttm_fini(struct radeon_device *rdev); > static void radeon_bo_clear_surface_reg(struct radeon_bo *bo); > > /* > diff --git a/drivers/gpu/drm/radeon/rv730_dpm.c b/drivers/gpu/drm/radeon/rv730_dpm.c > index d37ba2c..ff203ed 100644 > --- a/drivers/gpu/drm/radeon/rv730_dpm.c > +++ b/drivers/gpu/drm/radeon/rv730_dpm.c > @@ -34,9 +34,6 @@ > #define MC_CG_ARB_FREQ_F2 0x0c > #define MC_CG_ARB_FREQ_F3 0x0d > > -struct rv7xx_ps *rv770_get_ps(struct radeon_ps *rps); > -struct rv7xx_power_info *rv770_get_pi(struct radeon_device *rdev); > - > int rv730_populate_sclk_value(struct radeon_device *rdev, > u32 engine_clock, > RV770_SMC_SCLK_VALUE *sclk) > diff --git a/drivers/gpu/drm/radeon/rv740_dpm.c b/drivers/gpu/drm/radeon/rv740_dpm.c > index 4b85082..2b390e1 100644 > --- a/drivers/gpu/drm/radeon/rv740_dpm.c > +++ b/drivers/gpu/drm/radeon/rv740_dpm.c > @@ -29,8 +29,6 @@ > #include "rv770_dpm.h" > #include "atom.h" > > -struct rv7xx_power_info *rv770_get_pi(struct radeon_device *rdev); > - > u32 rv740_get_decoded_reference_divider(u32 encoded_ref) > { > u32 ref = 0; > diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c > index 7ee9aaf..e5ceeb4 100644 > --- a/drivers/gpu/drm/radeon/si.c > +++ b/drivers/gpu/drm/radeon/si.c > @@ -119,16 +119,6 @@ MODULE_FIRMWARE("radeon/hainan_k_smc.bin"); > static u32 si_get_cu_active_bitmap(struct radeon_device *rdev, u32 se, u32 sh); > static void si_pcie_gen3_enable(struct radeon_device *rdev); > static void si_program_aspm(struct radeon_device *rdev); > -extern void sumo_rlc_fini(struct radeon_device *rdev); > -extern int sumo_rlc_init(struct radeon_device *rdev); > -extern int r600_ih_ring_alloc(struct radeon_device *rdev); > -extern void r600_ih_ring_fini(struct radeon_device *rdev); > -extern void evergreen_fix_pci_max_read_req_size(struct radeon_device *rdev); > -extern void evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *save); > -extern void evergreen_mc_resume(struct radeon_device *rdev, struct evergreen_mc_save *save); > -extern u32 evergreen_get_number_of_dram_channels(struct radeon_device *rdev); > -extern void evergreen_print_gpu_status_regs(struct radeon_device *rdev); > -extern bool evergreen_is_display_hung(struct radeon_device *rdev); > static void si_enable_gui_idle_interrupt(struct radeon_device *rdev, > bool enable); > static void si_init_pg(struct radeon_device *rdev); > diff --git a/drivers/gpu/drm/radeon/si_dma.c b/drivers/gpu/drm/radeon/si_dma.c > index 8320792..afe19f8d 100644 > --- a/drivers/gpu/drm/radeon/si_dma.c > +++ b/drivers/gpu/drm/radeon/si_dma.c > @@ -27,8 +27,6 @@ > #include "radeon_trace.h" > #include "sid.h" > > -u32 si_gpu_check_soft_reset(struct radeon_device *rdev); > - > /** > * si_dma_is_lockup - Check if the DMA engine is locked up > * > diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c > index e6abc09..0a5aff5 100644 > --- a/drivers/gpu/drm/radeon/si_dpm.c > +++ b/drivers/gpu/drm/radeon/si_dpm.c > @@ -1734,14 +1734,6 @@ static const struct si_powertune_data powertune_data_hainan = > true > }; > > -struct rv7xx_power_info *rv770_get_pi(struct radeon_device *rdev); > -struct evergreen_power_info *evergreen_get_pi(struct radeon_device *rdev); > -struct ni_power_info *ni_get_pi(struct radeon_device *rdev); > -struct ni_ps *ni_get_ps(struct radeon_ps *rps); > - > -extern int si_mc_load_microcode(struct radeon_device *rdev); > -extern void vce_v1_0_enable_mgcg(struct radeon_device *rdev, bool enable); > - > static int si_populate_voltage_value(struct radeon_device *rdev, > const struct atom_voltage_table *table, > u16 value, SISLANDS_SMC_VOLTAGE_VALUE *voltage); > diff --git a/drivers/gpu/drm/radeon/sumo_smc.c b/drivers/gpu/drm/radeon/sumo_smc.c > index fb081d2..05ed103 100644 > --- a/drivers/gpu/drm/radeon/sumo_smc.c > +++ b/drivers/gpu/drm/radeon/sumo_smc.c > @@ -31,8 +31,6 @@ > #define SUMO_SMU_SERVICE_ROUTINE_ALTVDDNB_NOTIFY 27 > #define SUMO_SMU_SERVICE_ROUTINE_GFX_SRV_ID_20 20 > > -struct sumo_power_info *sumo_get_pi(struct radeon_device *rdev); > - > static void sumo_send_msg_to_smu(struct radeon_device *rdev, u32 id) > { > u32 gfx_int_req; > diff --git a/drivers/gpu/drm/radeon/trinity_dpm.c b/drivers/gpu/drm/radeon/trinity_dpm.c > index 6730367..2d423b5 100644 > --- a/drivers/gpu/drm/radeon/trinity_dpm.c > +++ b/drivers/gpu/drm/radeon/trinity_dpm.c > @@ -336,7 +336,6 @@ static const u32 trinity_override_mgpg_sequences[] = > 0x00000204, 0x00000000, > }; > > -extern void vce_v1_0_enable_mgcg(struct radeon_device *rdev, bool enable); > static void trinity_program_clk_gating_hw_sequence(struct radeon_device *rdev, > const u32 *seq, u32 count); > static void trinity_override_dynamic_mg_powergating(struct radeon_device *rdev);