/* * Copyright (C) 2013 Broadcom Corporation * Copyright 2013 Linaro Limited * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation version 2. * * This program is distributed "as is" WITHOUT ANY WARRANTY of any * kind, whether express or implied; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef _CLOCK_BCM21664_H #define _CLOCK_BCM21664_H /* * This file defines the values used to specify clocks provided by * the clock control units (CCUs) on Broadcom BCM21664 family SoCs. */ /* bcm21664 CCU device tree "compatible" strings */ #define BCM21664_DT_ROOT_CCU_COMPAT "brcm,bcm21664-root-ccu" #define BCM21664_DT_AON_CCU_COMPAT "brcm,bcm21664-aon-ccu" #define BCM21664_DT_MASTER_CCU_COMPAT "brcm,bcm21664-master-ccu" #define BCM21664_DT_SLAVE_CCU_COMPAT "brcm,bcm21664-slave-ccu" /* root CCU clock ids */ #define BCM21664_ROOT_CCU_FRAC_1M 0 #define BCM21664_ROOT_CCU_CLOCK_COUNT 1 /* aon CCU clock ids */ #define BCM21664_AON_CCU_HUB_TIMER 0 #define BCM21664_AON_CCU_CLOCK_COUNT 1 /* master CCU clock ids */ #define BCM21664_MASTER_CCU_SDIO1 0 #define BCM21664_MASTER_CCU_SDIO2 1 #define BCM21664_MASTER_CCU_SDIO3 2 #define BCM21664_MASTER_CCU_SDIO4 3 #define BCM21664_MASTER_CCU_SDIO1_SLEEP 4 #define BCM21664_MASTER_CCU_SDIO2_SLEEP 5 #define BCM21664_MASTER_CCU_SDIO3_SLEEP 6 #define BCM21664_MASTER_CCU_SDIO4_SLEEP 7 #define BCM21664_MASTER_CCU_CLOCK_COUNT 8 /* slave CCU clock ids */ #define BCM21664_SLAVE_CCU_UARTB 0 #define BCM21664_SLAVE_CCU_UARTB2 1 #define BCM21664_SLAVE_CCU_UARTB3 2 #define BCM21664_SLAVE_CCU_BSC1 3 #define BCM21664_SLAVE_CCU_BSC2 4 #define BCM21664_SLAVE_CCU_BSC3 5 #define BCM21664_SLAVE_CCU_BSC4 6 #define BCM21664_SLAVE_CCU_CLOCK_COUNT 7 #endif /* _CLOCK_BCM21664_H */ .h?id=d7df2443cd5f67fc6ee7c05a88e4996e8177f91b'>commitdiff
path: root/include/scsi/osd_protocol.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2017-02-03 17:10:28 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2017-02-08 23:36:29 +1100
commitd7df2443cd5f67fc6ee7c05a88e4996e8177f91b (patch)
tree098a7c0ca4fceb8a65cb1f693c9d71990388933d /include/scsi/osd_protocol.h
parenta0615a16f7d0ceb5804d295203c302d496d8ee91 (diff)
powerpc/mm: Fix spurrious segfaults on radix with autonuma
When autonuma (Automatic NUMA balancing) marks a PTE inaccessible it clears all the protection bits but leave the PTE valid. With the Radix MMU, an attempt at executing from such a PTE will take a fault with bit 35 of SRR1 set "SRR1_ISI_N_OR_G". It is thus incorrect to treat all such faults as errors. We should pass them to handle_mm_fault() for autonuma to deal with. The case of pages that are really not executable is handled by the existing test for VM_EXEC further down. That leaves us with catching the kernel attempts at executing user pages. We can catch that earlier, even before we do find_vma. It is never valid on powerpc for the kernel to take an exec fault to begin with. So fold that test with the existing test for the kernel faulting on kernel addresses to bail out early. Fixes: 1d18ad026844 ("powerpc/mm: Detect instruction fetch denied and report") Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Acked-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'include/scsi/osd_protocol.h')