| .. | .. |
|---|
| 1 | | -/* |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0 |
|---|
| 2 | + * |
|---|
| 2 | 3 | * include/asm-sh/spinlock-llsc.h |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) 2002, 2003 Paul Mundt |
|---|
| 5 | 6 | * Copyright (C) 2006, 2007 Akio Idehara |
|---|
| 6 | | - * |
|---|
| 7 | | - * This file is subject to the terms and conditions of the GNU General Public |
|---|
| 8 | | - * License. See the file "COPYING" in the main directory of this archive |
|---|
| 9 | | - * for more details. |
|---|
| 10 | 7 | */ |
|---|
| 11 | 8 | #ifndef __ASM_SH_SPINLOCK_LLSC_H |
|---|
| 12 | 9 | #define __ASM_SH_SPINLOCK_LLSC_H |
|---|
| .. | .. |
|---|
| 50 | 47 | { |
|---|
| 51 | 48 | unsigned long tmp; |
|---|
| 52 | 49 | |
|---|
| 50 | + /* This could be optimised with ARCH_HAS_MMIOWB */ |
|---|
| 51 | + mmiowb(); |
|---|
| 53 | 52 | __asm__ __volatile__ ( |
|---|
| 54 | 53 | "mov #1, %0 ! arch_spin_unlock \n\t" |
|---|
| 55 | 54 | "mov.l %0, @%1 \n\t" |
|---|