From e6acb1f3d5f77dfaac03f9b0ffdad3ad37d218e8 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 22 Jul 2017 00:38:10 +0100 Subject: [PATCH] [mips*/octeon] Fix broken EDAC driver (fixes FTBFS) --- debian/changelog | 1 + .../mips-octeon-fix-broken-edac-driver.patch | 145 ++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 147 insertions(+) create mode 100644 debian/patches/bugfix/mips/mips-octeon-fix-broken-edac-driver.patch diff --git a/debian/changelog b/debian/changelog index 4d40ef362..2147ffa53 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,7 @@ linux (4.12.2-1~exp2) UNRELEASED; urgency=medium - [sparc64] Adding asm-prototypes.h for genksyms to generate crc - [sparc64] sed regex in Makefile.build requires line break between exported symbols + * [mips*/octeon] Fix broken EDAC driver (fixes FTBFS) -- Ben Hutchings Tue, 18 Jul 2017 13:26:41 +0100 diff --git a/debian/patches/bugfix/mips/mips-octeon-fix-broken-edac-driver.patch b/debian/patches/bugfix/mips/mips-octeon-fix-broken-edac-driver.patch new file mode 100644 index 000000000..a86cd95cf --- /dev/null +++ b/debian/patches/bugfix/mips/mips-octeon-fix-broken-edac-driver.patch @@ -0,0 +1,145 @@ +From: "Steven J. Hill" +Date: Wed, 19 Jul 2017 14:06:41 -0500 +Subject: MIPS: Octeon: Fix broken EDAC driver. +Origin: https://www.linux-mips.org/archives/linux-mips/2017-07/msg00215.html + +Fixes: 15f6847923a8 ("MIPS: Octeon: Remove unused L2C types and +macros.") + +Signed-off-by: Steven J. Hill +Reviewed-by: James Hogan +--- + arch/mips/include/asm/octeon/cvmx-l2c-defs.h | 37 ++++++++++++++++- + arch/mips/include/asm/octeon/cvmx-l2d-defs.h | 60 ++++++++++++++++++++++++++++ + arch/mips/include/asm/octeon/cvmx.h | 1 + + 3 files changed, 97 insertions(+), 1 deletion(-) + create mode 100644 arch/mips/include/asm/octeon/cvmx-l2d-defs.h + +--- a/arch/mips/include/asm/octeon/cvmx-l2c-defs.h ++++ b/arch/mips/include/asm/octeon/cvmx-l2c-defs.h +@@ -33,6 +33,10 @@ + #define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull)) + #define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull)) + #define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull)) ++#define CVMX_L2C_ERR_TDTX(block_id) \ ++ (CVMX_ADD_IO_SEG(0x0001180080A007E0ull) + ((block_id) & 3) * 0x40000ull) ++#define CVMX_L2C_ERR_TTGX(block_id) \ ++ (CVMX_ADD_IO_SEG(0x0001180080A007E8ull) + ((block_id) & 3) * 0x40000ull) + #define CVMX_L2C_LCKBASE (CVMX_ADD_IO_SEG(0x0001180080000058ull)) + #define CVMX_L2C_LCKOFF (CVMX_ADD_IO_SEG(0x0001180080000060ull)) + #define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull)) +@@ -66,9 +70,40 @@ + ((offset) & 1) * 8) + #define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + \ + ((offset) & 31) * 8) +-#define CVMX_L2D_FUS3 (CVMX_ADD_IO_SEG(0x00011800800007B8ull)) + + ++union cvmx_l2c_err_tdtx { ++ uint64_t u64; ++ struct cvmx_l2c_err_tdtx_s { ++ __BITFIELD_FIELD(uint64_t dbe:1, ++ __BITFIELD_FIELD(uint64_t sbe:1, ++ __BITFIELD_FIELD(uint64_t vdbe:1, ++ __BITFIELD_FIELD(uint64_t vsbe:1, ++ __BITFIELD_FIELD(uint64_t syn:10, ++ __BITFIELD_FIELD(uint64_t reserved_22_49:28, ++ __BITFIELD_FIELD(uint64_t wayidx:18, ++ __BITFIELD_FIELD(uint64_t reserved_2_3:2, ++ __BITFIELD_FIELD(uint64_t type:2, ++ ;))))))))) ++ } s; ++}; ++ ++union cvmx_l2c_err_ttgx { ++ uint64_t u64; ++ struct cvmx_l2c_err_ttgx_s { ++ __BITFIELD_FIELD(uint64_t dbe:1, ++ __BITFIELD_FIELD(uint64_t sbe:1, ++ __BITFIELD_FIELD(uint64_t noway:1, ++ __BITFIELD_FIELD(uint64_t reserved_56_60:5, ++ __BITFIELD_FIELD(uint64_t syn:6, ++ __BITFIELD_FIELD(uint64_t reserved_22_49:28, ++ __BITFIELD_FIELD(uint64_t wayidx:15, ++ __BITFIELD_FIELD(uint64_t reserved_2_6:5, ++ __BITFIELD_FIELD(uint64_t type:2, ++ ;))))))))) ++ } s; ++}; ++ + union cvmx_l2c_cfg { + uint64_t u64; + struct cvmx_l2c_cfg_s { +--- /dev/null ++++ b/arch/mips/include/asm/octeon/cvmx-l2d-defs.h +@@ -0,0 +1,60 @@ ++/***********************license start*************** ++ * Author: Cavium Networks ++ * ++ * Contact: support@caviumnetworks.com ++ * This file is part of the OCTEON SDK ++ * ++ * Copyright (c) 2003-2017 Cavium, Inc. ++ * ++ * This file is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License, Version 2, as ++ * published by the Free Software Foundation. ++ * ++ * This file is distributed in the hope that it will be useful, but ++ * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty ++ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or ++ * NONINFRINGEMENT. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this file; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ * or visit http://www.gnu.org/licenses/. ++ * ++ * This file may also be available under a different license from Cavium. ++ * Contact Cavium Networks for more information ++ ***********************license end**************************************/ ++ ++#ifndef __CVMX_L2D_DEFS_H__ ++#define __CVMX_L2D_DEFS_H__ ++ ++#define CVMX_L2D_ERR (CVMX_ADD_IO_SEG(0x0001180080000010ull)) ++#define CVMX_L2D_FUS3 (CVMX_ADD_IO_SEG(0x00011800800007B8ull)) ++ ++ ++union cvmx_l2d_err { ++ uint64_t u64; ++ struct cvmx_l2d_err_s { ++ __BITFIELD_FIELD(uint64_t reserved_6_63:58, ++ __BITFIELD_FIELD(uint64_t bmhclsel:1, ++ __BITFIELD_FIELD(uint64_t ded_err:1, ++ __BITFIELD_FIELD(uint64_t sec_err:1, ++ __BITFIELD_FIELD(uint64_t ded_intena:1, ++ __BITFIELD_FIELD(uint64_t sec_intena:1, ++ __BITFIELD_FIELD(uint64_t ecc_ena:1, ++ ;))))))) ++ } s; ++}; ++ ++union cvmx_l2d_fus3 { ++ uint64_t u64; ++ struct cvmx_l2d_fus3_s { ++ __BITFIELD_FIELD(uint64_t reserved_40_63:24, ++ __BITFIELD_FIELD(uint64_t ema_ctl:3, ++ __BITFIELD_FIELD(uint64_t reserved_34_36:3, ++ __BITFIELD_FIELD(uint64_t q3fus:34, ++ ;)))) ++ } s; ++}; ++ ++#endif +--- a/arch/mips/include/asm/octeon/cvmx.h ++++ b/arch/mips/include/asm/octeon/cvmx.h +@@ -62,6 +62,7 @@ enum cvmx_mips_space { + #include + #include + #include ++#include + #include + #include + #include diff --git a/debian/patches/series b/debian/patches/series index ad1816349..fa7924152 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -59,6 +59,7 @@ bugfix/x86/platform-x86-ideapad-laptop-add-y520-15ikbn-to-no_hw.patch bugfix/x86/platform-x86-ideapad-laptop-add-y720-15ikbn-to-no_hw.patch bugfix/x86/platform-x86-ideapad-laptop-add-ideapad-v510-15ikb-t.patch bugfix/x86/platform-x86-ideapad-laptop-add-several-models-to-no.patch +bugfix/mips/mips-octeon-fix-broken-edac-driver.patch # Arch features features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch