.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
---|
1 | 2 | /* |
---|
2 | 3 | * Private header for the mmc subsystem |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (C) 2016 Linaro Ltd |
---|
5 | 6 | * |
---|
6 | 7 | * Author: Ulf Hansson <ulf.hansson@linaro.org> |
---|
7 | | - * |
---|
8 | | - * License terms: GNU General Public License (GPL) version 2 |
---|
9 | 8 | */ |
---|
10 | 9 | |
---|
11 | 10 | #ifndef _MMC_CORE_CARD_H |
---|
.. | .. |
---|
23 | 22 | #define MMC_STATE_BLOCKADDR (1<<2) /* card uses block-addressing */ |
---|
24 | 23 | #define MMC_CARD_SDXC (1<<3) /* card is SDXC */ |
---|
25 | 24 | #define MMC_CARD_REMOVED (1<<4) /* card has been removed */ |
---|
26 | | -#define MMC_STATE_DOING_BKOPS (1<<5) /* card is doing BKOPS */ |
---|
27 | | -#define MMC_STATE_SUSPENDED (1<<6) /* card is suspended */ |
---|
| 25 | +#define MMC_STATE_SUSPENDED (1<<5) /* card is suspended */ |
---|
28 | 26 | |
---|
29 | 27 | #define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT) |
---|
30 | 28 | #define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY) |
---|
31 | 29 | #define mmc_card_blockaddr(c) ((c)->state & MMC_STATE_BLOCKADDR) |
---|
32 | 30 | #define mmc_card_ext_capacity(c) ((c)->state & MMC_CARD_SDXC) |
---|
33 | 31 | #define mmc_card_removed(c) ((c) && ((c)->state & MMC_CARD_REMOVED)) |
---|
34 | | -#define mmc_card_doing_bkops(c) ((c)->state & MMC_STATE_DOING_BKOPS) |
---|
35 | 32 | #define mmc_card_suspended(c) ((c)->state & MMC_STATE_SUSPENDED) |
---|
36 | 33 | |
---|
37 | 34 | #define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT) |
---|
.. | .. |
---|
39 | 36 | #define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR) |
---|
40 | 37 | #define mmc_card_set_ext_capacity(c) ((c)->state |= MMC_CARD_SDXC) |
---|
41 | 38 | #define mmc_card_set_removed(c) ((c)->state |= MMC_CARD_REMOVED) |
---|
42 | | -#define mmc_card_set_doing_bkops(c) ((c)->state |= MMC_STATE_DOING_BKOPS) |
---|
43 | | -#define mmc_card_clr_doing_bkops(c) ((c)->state &= ~MMC_STATE_DOING_BKOPS) |
---|
44 | 39 | #define mmc_card_set_suspended(c) ((c)->state |= MMC_STATE_SUSPENDED) |
---|
45 | 40 | #define mmc_card_clr_suspended(c) ((c)->state &= ~MMC_STATE_SUSPENDED) |
---|
46 | 41 | |
---|
.. | .. |
---|
75 | 70 | #define EXT_CSD_REV_ANY (-1u) |
---|
76 | 71 | |
---|
77 | 72 | #define CID_MANFID_SANDISK 0x2 |
---|
| 73 | +#define CID_MANFID_SANDISK_SD 0x3 |
---|
78 | 74 | #define CID_MANFID_ATP 0x9 |
---|
79 | 75 | #define CID_MANFID_TOSHIBA 0x11 |
---|
80 | 76 | #define CID_MANFID_MICRON 0x13 |
---|
.. | .. |
---|
82 | 78 | #define CID_MANFID_APACER 0x27 |
---|
83 | 79 | #define CID_MANFID_KINGSTON 0x70 |
---|
84 | 80 | #define CID_MANFID_HYNIX 0x90 |
---|
| 81 | +#define CID_MANFID_DH 0xAD |
---|
85 | 82 | #define CID_MANFID_NUMONYX 0xFE |
---|
86 | 83 | |
---|
87 | 84 | #define END_FIXUP { NULL } |
---|
.. | .. |
---|
227 | 224 | return c->quirks & MMC_QUIRK_BROKEN_HPI; |
---|
228 | 225 | } |
---|
229 | 226 | |
---|
| 227 | +static inline int mmc_card_broken_sd_discard(const struct mmc_card *c) |
---|
| 228 | +{ |
---|
| 229 | + return c->quirks & MMC_QUIRK_BROKEN_SD_DISCARD; |
---|
| 230 | +} |
---|
| 231 | + |
---|
230 | 232 | #endif |
---|