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
d38e45aa
Commit
d38e45aa
authored
Oct 03, 2016
by
Vinod Koul
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'topic/hsu' into for-linus
parents
11bfedff
71d0bc65
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
17 deletions
+15
-17
drivers/dma/hsu/hsu.c
drivers/dma/hsu/hsu.c
+4
-5
drivers/dma/hsu/pci.c
drivers/dma/hsu/pci.c
+3
-3
drivers/tty/serial/8250/8250_mid.c
drivers/tty/serial/8250/8250_mid.c
+4
-4
include/linux/dma/hsu.h
include/linux/dma/hsu.h
+4
-5
No files found.
drivers/dma/hsu/hsu.c
View file @
d38e45aa
...
@@ -200,10 +200,9 @@ EXPORT_SYMBOL_GPL(hsu_dma_get_status);
...
@@ -200,10 +200,9 @@ EXPORT_SYMBOL_GPL(hsu_dma_get_status);
* is not a normal timeout interrupt, ie. hsu_dma_get_status() returned 0.
* is not a normal timeout interrupt, ie. hsu_dma_get_status() returned 0.
*
*
* Return:
* Return:
*
IRQ_NONE for invalid channel number, IRQ_HANDLED
otherwise.
*
0 for invalid channel number, 1
otherwise.
*/
*/
irqreturn_t
hsu_dma_do_irq
(
struct
hsu_dma_chip
*
chip
,
unsigned
short
nr
,
int
hsu_dma_do_irq
(
struct
hsu_dma_chip
*
chip
,
unsigned
short
nr
,
u32
status
)
u32
status
)
{
{
struct
hsu_dma_chan
*
hsuc
;
struct
hsu_dma_chan
*
hsuc
;
struct
hsu_dma_desc
*
desc
;
struct
hsu_dma_desc
*
desc
;
...
@@ -211,7 +210,7 @@ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr,
...
@@ -211,7 +210,7 @@ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr,
/* Sanity check */
/* Sanity check */
if
(
nr
>=
chip
->
hsu
->
nr_channels
)
if
(
nr
>=
chip
->
hsu
->
nr_channels
)
return
IRQ_NONE
;
return
0
;
hsuc
=
&
chip
->
hsu
->
chan
[
nr
];
hsuc
=
&
chip
->
hsu
->
chan
[
nr
];
...
@@ -230,7 +229,7 @@ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr,
...
@@ -230,7 +229,7 @@ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr,
}
}
spin_unlock_irqrestore
(
&
hsuc
->
vchan
.
lock
,
flags
);
spin_unlock_irqrestore
(
&
hsuc
->
vchan
.
lock
,
flags
);
return
IRQ_HANDLED
;
return
1
;
}
}
EXPORT_SYMBOL_GPL
(
hsu_dma_do_irq
);
EXPORT_SYMBOL_GPL
(
hsu_dma_do_irq
);
...
...
drivers/dma/hsu/pci.c
View file @
d38e45aa
...
@@ -29,7 +29,7 @@ static irqreturn_t hsu_pci_irq(int irq, void *dev)
...
@@ -29,7 +29,7 @@ static irqreturn_t hsu_pci_irq(int irq, void *dev)
u32
dmaisr
;
u32
dmaisr
;
u32
status
;
u32
status
;
unsigned
short
i
;
unsigned
short
i
;
i
rqreturn_t
ret
=
IRQ_NONE
;
i
nt
ret
=
0
;
int
err
;
int
err
;
dmaisr
=
readl
(
chip
->
regs
+
HSU_PCI_DMAISR
);
dmaisr
=
readl
(
chip
->
regs
+
HSU_PCI_DMAISR
);
...
@@ -37,14 +37,14 @@ static irqreturn_t hsu_pci_irq(int irq, void *dev)
...
@@ -37,14 +37,14 @@ static irqreturn_t hsu_pci_irq(int irq, void *dev)
if
(
dmaisr
&
0x1
)
{
if
(
dmaisr
&
0x1
)
{
err
=
hsu_dma_get_status
(
chip
,
i
,
&
status
);
err
=
hsu_dma_get_status
(
chip
,
i
,
&
status
);
if
(
err
>
0
)
if
(
err
>
0
)
ret
|=
IRQ_HANDLED
;
ret
|=
1
;
else
if
(
err
==
0
)
else
if
(
err
==
0
)
ret
|=
hsu_dma_do_irq
(
chip
,
i
,
status
);
ret
|=
hsu_dma_do_irq
(
chip
,
i
,
status
);
}
}
dmaisr
>>=
1
;
dmaisr
>>=
1
;
}
}
return
ret
;
return
IRQ_RETVAL
(
ret
)
;
}
}
static
int
hsu_pci_probe
(
struct
pci_dev
*
pdev
,
const
struct
pci_device_id
*
id
)
static
int
hsu_pci_probe
(
struct
pci_dev
*
pdev
,
const
struct
pci_device_id
*
id
)
...
...
drivers/tty/serial/8250/8250_mid.c
View file @
d38e45aa
...
@@ -99,27 +99,27 @@ static int dnv_handle_irq(struct uart_port *p)
...
@@ -99,27 +99,27 @@ static int dnv_handle_irq(struct uart_port *p)
struct
uart_8250_port
*
up
=
up_to_u8250p
(
p
);
struct
uart_8250_port
*
up
=
up_to_u8250p
(
p
);
unsigned
int
fisr
=
serial_port_in
(
p
,
INTEL_MID_UART_DNV_FISR
);
unsigned
int
fisr
=
serial_port_in
(
p
,
INTEL_MID_UART_DNV_FISR
);
u32
status
;
u32
status
;
int
ret
=
IRQ_NONE
;
int
ret
=
0
;
int
err
;
int
err
;
if
(
fisr
&
BIT
(
2
))
{
if
(
fisr
&
BIT
(
2
))
{
err
=
hsu_dma_get_status
(
&
mid
->
dma_chip
,
1
,
&
status
);
err
=
hsu_dma_get_status
(
&
mid
->
dma_chip
,
1
,
&
status
);
if
(
err
>
0
)
{
if
(
err
>
0
)
{
serial8250_rx_dma_flush
(
up
);
serial8250_rx_dma_flush
(
up
);
ret
|=
IRQ_HANDLED
;
ret
|=
1
;
}
else
if
(
err
==
0
)
}
else
if
(
err
==
0
)
ret
|=
hsu_dma_do_irq
(
&
mid
->
dma_chip
,
1
,
status
);
ret
|=
hsu_dma_do_irq
(
&
mid
->
dma_chip
,
1
,
status
);
}
}
if
(
fisr
&
BIT
(
1
))
{
if
(
fisr
&
BIT
(
1
))
{
err
=
hsu_dma_get_status
(
&
mid
->
dma_chip
,
0
,
&
status
);
err
=
hsu_dma_get_status
(
&
mid
->
dma_chip
,
0
,
&
status
);
if
(
err
>
0
)
if
(
err
>
0
)
ret
|=
IRQ_HANDLED
;
ret
|=
1
;
else
if
(
err
==
0
)
else
if
(
err
==
0
)
ret
|=
hsu_dma_do_irq
(
&
mid
->
dma_chip
,
0
,
status
);
ret
|=
hsu_dma_do_irq
(
&
mid
->
dma_chip
,
0
,
status
);
}
}
if
(
fisr
&
BIT
(
0
))
if
(
fisr
&
BIT
(
0
))
ret
|=
serial8250_handle_irq
(
p
,
serial_port_in
(
p
,
UART_IIR
));
ret
|=
serial8250_handle_irq
(
p
,
serial_port_in
(
p
,
UART_IIR
));
return
ret
;
return
IRQ_RETVAL
(
ret
)
;
}
}
#define DNV_DMA_CHAN_OFFSET 0x80
#define DNV_DMA_CHAN_OFFSET 0x80
...
...
include/linux/dma/hsu.h
View file @
d38e45aa
...
@@ -41,8 +41,7 @@ struct hsu_dma_chip {
...
@@ -41,8 +41,7 @@ struct hsu_dma_chip {
/* Export to the internal users */
/* Export to the internal users */
int
hsu_dma_get_status
(
struct
hsu_dma_chip
*
chip
,
unsigned
short
nr
,
int
hsu_dma_get_status
(
struct
hsu_dma_chip
*
chip
,
unsigned
short
nr
,
u32
*
status
);
u32
*
status
);
irqreturn_t
hsu_dma_do_irq
(
struct
hsu_dma_chip
*
chip
,
unsigned
short
nr
,
int
hsu_dma_do_irq
(
struct
hsu_dma_chip
*
chip
,
unsigned
short
nr
,
u32
status
);
u32
status
);
/* Export to the platform drivers */
/* Export to the platform drivers */
int
hsu_dma_probe
(
struct
hsu_dma_chip
*
chip
);
int
hsu_dma_probe
(
struct
hsu_dma_chip
*
chip
);
...
@@ -53,10 +52,10 @@ static inline int hsu_dma_get_status(struct hsu_dma_chip *chip,
...
@@ -53,10 +52,10 @@ static inline int hsu_dma_get_status(struct hsu_dma_chip *chip,
{
{
return
0
;
return
0
;
}
}
static
inline
i
rqreturn_t
hsu_dma_do_irq
(
struct
hsu_dma_chip
*
chip
,
static
inline
i
nt
hsu_dma_do_irq
(
struct
hsu_dma_chip
*
chip
,
unsigned
short
nr
,
unsigned
short
nr
,
u32
status
)
u32
status
)
{
{
return
IRQ_NONE
;
return
0
;
}
}
static
inline
int
hsu_dma_probe
(
struct
hsu_dma_chip
*
chip
)
{
return
-
ENODEV
;
}
static
inline
int
hsu_dma_probe
(
struct
hsu_dma_chip
*
chip
)
{
return
-
ENODEV
;
}
static
inline
int
hsu_dma_remove
(
struct
hsu_dma_chip
*
chip
)
{
return
0
;
}
static
inline
int
hsu_dma_remove
(
struct
hsu_dma_chip
*
chip
)
{
return
0
;
}
...
...
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