Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
82b62487
Commit
82b62487
authored
6 years ago
by
Ulf Hansson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fixes' into next
parents
ad9be7ff
c53336c8
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
39 additions
and
15 deletions
+39
-15
drivers/mmc/core/block.c
drivers/mmc/core/block.c
+0
-6
drivers/mmc/core/core.c
drivers/mmc/core/core.c
+1
-1
drivers/mmc/core/queue.c
drivers/mmc/core/queue.c
+8
-1
drivers/mmc/host/cqhci.c
drivers/mmc/host/cqhci.c
+11
-2
drivers/mmc/host/mmc_spi.c
drivers/mmc/host/mmc_spi.c
+1
-0
drivers/mmc/host/renesas_sdhi_sys_dmac.c
drivers/mmc/host/renesas_sdhi_sys_dmac.c
+1
-0
drivers/mmc/host/tmio_mmc.h
drivers/mmc/host/tmio_mmc.h
+5
-0
drivers/mmc/host/tmio_mmc_core.c
drivers/mmc/host/tmio_mmc_core.c
+12
-5
No files found.
drivers/mmc/core/block.c
View file @
82b62487
...
...
@@ -2374,12 +2374,6 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
snprintf
(
md
->
disk
->
disk_name
,
sizeof
(
md
->
disk
->
disk_name
),
"mmcblk%u%s"
,
card
->
host
->
index
,
subname
?
subname
:
""
);
if
(
mmc_card_mmc
(
card
))
blk_queue_logical_block_size
(
md
->
queue
.
queue
,
card
->
ext_csd
.
data_sector_size
);
else
blk_queue_logical_block_size
(
md
->
queue
.
queue
,
512
);
set_capacity
(
md
->
disk
,
size
);
if
(
mmc_host_cmd23
(
card
->
host
))
{
...
...
This diff is collapsed.
Click to expand it.
drivers/mmc/core/core.c
View file @
82b62487
...
...
@@ -95,7 +95,7 @@ static void mmc_should_fail_request(struct mmc_host *host,
if
(
!
data
)
return
;
if
(
cmd
->
error
||
data
->
error
||
if
(
(
cmd
&&
cmd
->
error
)
||
data
->
error
||
!
should_fail
(
&
host
->
fail_mmc_request
,
data
->
blksz
*
data
->
blocks
))
return
;
...
...
This diff is collapsed.
Click to expand it.
drivers/mmc/core/queue.c
View file @
82b62487
...
...
@@ -355,6 +355,7 @@ static void mmc_setup_queue(struct mmc_queue *mq, struct mmc_card *card)
{
struct
mmc_host
*
host
=
card
->
host
;
u64
limit
=
BLK_BOUNCE_HIGH
;
unsigned
block_size
=
512
;
if
(
mmc_dev
(
host
)
->
dma_mask
&&
*
mmc_dev
(
host
)
->
dma_mask
)
limit
=
(
u64
)
dma_max_pfn
(
mmc_dev
(
host
))
<<
PAGE_SHIFT
;
...
...
@@ -368,7 +369,13 @@ static void mmc_setup_queue(struct mmc_queue *mq, struct mmc_card *card)
blk_queue_max_hw_sectors
(
mq
->
queue
,
min
(
host
->
max_blk_count
,
host
->
max_req_size
/
512
));
blk_queue_max_segments
(
mq
->
queue
,
host
->
max_segs
);
blk_queue_max_segment_size
(
mq
->
queue
,
host
->
max_seg_size
);
if
(
mmc_card_mmc
(
card
))
block_size
=
card
->
ext_csd
.
data_sector_size
;
blk_queue_logical_block_size
(
mq
->
queue
,
block_size
);
blk_queue_max_segment_size
(
mq
->
queue
,
round_down
(
host
->
max_seg_size
,
block_size
));
INIT_WORK
(
&
mq
->
recovery_work
,
mmc_mq_recovery_handler
);
INIT_WORK
(
&
mq
->
complete_work
,
mmc_blk_mq_complete_work
);
...
...
This diff is collapsed.
Click to expand it.
drivers/mmc/host/cqhci.c
View file @
82b62487
...
...
@@ -201,7 +201,7 @@ static int cqhci_host_alloc_tdl(struct cqhci_host *cq_host)
cq_host
->
desc_size
=
cq_host
->
slot_sz
*
cq_host
->
num_slots
;
cq_host
->
data_size
=
cq_host
->
trans_desc_len
*
cq_host
->
mmc
->
max_segs
*
(
cq_host
->
num_slots
-
1
)
;
cq_host
->
mmc
->
cqe_qdepth
;
pr_debug
(
"%s: cqhci: desc_size: %zu data_sz: %zu slot-sz: %d
\n
"
,
mmc_hostname
(
cq_host
->
mmc
),
cq_host
->
desc_size
,
cq_host
->
data_size
,
...
...
@@ -217,12 +217,21 @@ static int cqhci_host_alloc_tdl(struct cqhci_host *cq_host)
cq_host
->
desc_size
,
&
cq_host
->
desc_dma_base
,
GFP_KERNEL
);
if
(
!
cq_host
->
desc_base
)
return
-
ENOMEM
;
cq_host
->
trans_desc_base
=
dmam_alloc_coherent
(
mmc_dev
(
cq_host
->
mmc
),
cq_host
->
data_size
,
&
cq_host
->
trans_desc_dma_base
,
GFP_KERNEL
);
if
(
!
cq_host
->
desc_base
||
!
cq_host
->
trans_desc_base
)
if
(
!
cq_host
->
trans_desc_base
)
{
dmam_free_coherent
(
mmc_dev
(
cq_host
->
mmc
),
cq_host
->
desc_size
,
cq_host
->
desc_base
,
cq_host
->
desc_dma_base
);
cq_host
->
desc_base
=
NULL
;
cq_host
->
desc_dma_base
=
0
;
return
-
ENOMEM
;
}
pr_debug
(
"%s: cqhci: desc-base: 0x%p trans-base: 0x%p
\n
desc_dma 0x%llx trans_dma: 0x%llx
\n
"
,
mmc_hostname
(
cq_host
->
mmc
),
cq_host
->
desc_base
,
cq_host
->
trans_desc_base
,
...
...
This diff is collapsed.
Click to expand it.
drivers/mmc/host/mmc_spi.c
View file @
82b62487
...
...
@@ -1450,6 +1450,7 @@ static int mmc_spi_probe(struct spi_device *spi)
mmc
->
caps
&=
~
MMC_CAP_NEEDS_POLL
;
mmc_gpiod_request_cd_irq
(
mmc
);
}
mmc_detect_change
(
mmc
,
0
);
/* Index 1 is write protect/read only */
status
=
mmc_gpiod_request_ro
(
mmc
,
NULL
,
1
,
0
,
NULL
);
...
...
This diff is collapsed.
Click to expand it.
drivers/mmc/host/renesas_sdhi_sys_dmac.c
View file @
82b62487
...
...
@@ -65,6 +65,7 @@ static const struct renesas_sdhi_of_data of_rcar_gen2_compatible = {
.
scc_offset
=
0x0300
,
.
taps
=
rcar_gen2_scc_taps
,
.
taps_num
=
ARRAY_SIZE
(
rcar_gen2_scc_taps
),
.
max_blk_count
=
0xffffffff
,
};
/* Definitions for sampling clocks */
...
...
This diff is collapsed.
Click to expand it.
drivers/mmc/host/tmio_mmc.h
View file @
82b62487
...
...
@@ -277,6 +277,11 @@ static inline void sd_ctrl_write32_as_16_and_16(struct tmio_mmc_host *host,
iowrite16
(
val
>>
16
,
host
->
ctl
+
((
addr
+
2
)
<<
host
->
bus_shift
));
}
static
inline
void
sd_ctrl_write32
(
struct
tmio_mmc_host
*
host
,
int
addr
,
u32
val
)
{
iowrite32
(
val
,
host
->
ctl
+
(
addr
<<
host
->
bus_shift
));
}
static
inline
void
sd_ctrl_write32_rep
(
struct
tmio_mmc_host
*
host
,
int
addr
,
const
u32
*
buf
,
int
count
)
{
...
...
This diff is collapsed.
Click to expand it.
drivers/mmc/host/tmio_mmc_core.c
View file @
82b62487
...
...
@@ -43,6 +43,7 @@
#include <linux/regulator/consumer.h>
#include <linux/mmc/sdio.h>
#include <linux/scatterlist.h>
#include <linux/sizes.h>
#include <linux/spinlock.h>
#include <linux/swiotlb.h>
#include <linux/workqueue.h>
...
...
@@ -629,7 +630,7 @@ static bool __tmio_mmc_sdcard_irq(struct tmio_mmc_host *host, int ireg,
return
false
;
}
static
void
__tmio_mmc_sdio_irq
(
struct
tmio_mmc_host
*
host
)
static
bool
__tmio_mmc_sdio_irq
(
struct
tmio_mmc_host
*
host
)
{
struct
mmc_host
*
mmc
=
host
->
mmc
;
struct
tmio_mmc_data
*
pdata
=
host
->
pdata
;
...
...
@@ -637,7 +638,7 @@ static void __tmio_mmc_sdio_irq(struct tmio_mmc_host *host)
unsigned
int
sdio_status
;
if
(
!
(
pdata
->
flags
&
TMIO_MMC_SDIO_IRQ
))
return
;
return
false
;
status
=
sd_ctrl_read16
(
host
,
CTL_SDIO_STATUS
);
ireg
=
status
&
TMIO_SDIO_MASK_ALL
&
~
host
->
sdio_irq_mask
;
...
...
@@ -650,6 +651,8 @@ static void __tmio_mmc_sdio_irq(struct tmio_mmc_host *host)
if
(
mmc
->
caps
&
MMC_CAP_SDIO_IRQ
&&
ireg
&
TMIO_SDIO_STAT_IOIRQ
)
mmc_signal_sdio_irq
(
mmc
);
return
ireg
;
}
irqreturn_t
tmio_mmc_irq
(
int
irq
,
void
*
devid
)
...
...
@@ -668,9 +671,10 @@ irqreturn_t tmio_mmc_irq(int irq, void *devid)
if
(
__tmio_mmc_sdcard_irq
(
host
,
ireg
,
status
))
return
IRQ_HANDLED
;
__tmio_mmc_sdio_irq
(
host
);
if
(
__tmio_mmc_sdio_irq
(
host
))
return
IRQ_HANDLED
;
return
IRQ_
HANDLED
;
return
IRQ_
NONE
;
}
EXPORT_SYMBOL_GPL
(
tmio_mmc_irq
);
...
...
@@ -700,7 +704,10 @@ static int tmio_mmc_start_data(struct tmio_mmc_host *host,
/* Set transfer length / blocksize */
sd_ctrl_write16
(
host
,
CTL_SD_XFER_LEN
,
data
->
blksz
);
sd_ctrl_write16
(
host
,
CTL_XFER_BLK_COUNT
,
data
->
blocks
);
if
(
host
->
mmc
->
max_blk_count
>=
SZ_64K
)
sd_ctrl_write32
(
host
,
CTL_XFER_BLK_COUNT
,
data
->
blocks
);
else
sd_ctrl_write16
(
host
,
CTL_XFER_BLK_COUNT
,
data
->
blocks
);
tmio_mmc_start_dma
(
host
,
data
);
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment