* [PATCH 1/3] dm9601: enable EP3 interrupt
@ 2016-03-10 11:23 Joseph CHANG
2016-03-10 21:55 ` Peter Korsgaard
0 siblings, 1 reply; 3+ messages in thread
From: Joseph CHANG @ 2016-03-10 11:23 UTC (permalink / raw)
To: Peter Korsgaard, netdev, linux-usb, linux-kernel, Joseph CHANG
Cc: Joseph Chang
Enable chip's EP3 interrupt to get the link-up notify soon
immediately.
Signed-off-by: Joseph CHANG <josright123@gmail.com>
---
drivers/net/usb/dm9601.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c
index 0b4bdd3..520de4f 100644
--- a/drivers/net/usb/dm9601.c
+++ b/drivers/net/usb/dm9601.c
@@ -46,6 +46,9 @@
#define DM_GPR_DATA 0x1f
#define DM_CHIP_ID 0x2c
#define DM_MODE_CTRL 0x91 /* only on dm9620 */
+#define DM_USB_CTRL 0xf4
+
+#define USB_CTRL_EP3ACK 0x20
/* chip id values */
#define ID_DM9601 0
@@ -414,6 +417,9 @@ static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf)
goto out;
}
dm_write_reg(dev, DM_MODE_CTRL, mode & 0x7f);
+
+ /* Always return 8-bytes data to host per interrupt-interval */
+ dm_write_reg(dev, DM_USB_CTRL, USB_CTRL_EP3ACK);
}
/* power up phy */
--
2.1.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/3] dm9601: enable EP3 interrupt
2016-03-10 11:23 [PATCH 1/3] dm9601: enable EP3 interrupt Joseph CHANG
@ 2016-03-10 21:55 ` Peter Korsgaard
2016-03-11 10:47 ` Joseph Chang
0 siblings, 1 reply; 3+ messages in thread
From: Peter Korsgaard @ 2016-03-10 21:55 UTC (permalink / raw)
To: Joseph CHANG
Cc: Peter Korsgaard, netdev, linux-usb, linux-kernel, Joseph Chang
>>>>> "Joseph" == Joseph CHANG <josright123@gmail.com> writes:
> Enable chip's EP3 interrupt to get the link-up notify soon
> immediately.
Sorry, what do you mean about 'soon immediately'?
> +
> + /* Always return 8-bytes data to host per interrupt-interval */
> + dm_write_reg(dev, DM_USB_CTRL, USB_CTRL_EP3ACK);
Why would we want to do that instead of the current setup that afaik
only returns data when the link status changes?
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH 1/3] dm9601: enable EP3 interrupt
2016-03-10 21:55 ` Peter Korsgaard
@ 2016-03-11 10:47 ` Joseph Chang
0 siblings, 0 replies; 3+ messages in thread
From: Joseph Chang @ 2016-03-11 10:47 UTC (permalink / raw)
To: 'Peter Korsgaard', 'Joseph CHANG'
Cc: 'Peter Korsgaard',
netdev, linux-usb, linux-kernel, 'Joseph Chang'
After check more.
I think this is also to fix the bug to dm962x chip too.
If keep no patch below:
> +
> + /* Always return 8-bytes data to host per interrupt-interval */
> + dm_write_reg(dev, DM_USB_CTRL, USB_CTRL_EP3ACK);
When attach dm962x to linux USB host,
The reg 'DM_USB_CTRL' get default value 0x00
This means the USB interrupt routine below,
.status = dm9601_status,
will be called by events (they are: RX data found, TX complete, link change)
Unfortunately, the link change CAN not work to trigger this event call.
So I do
> + dm_write_reg(dev, DM_USB_CTRL, USB_CTRL_EP3ACK);
That
.status = dm9601_status,
will be called by time interval.
* ".status = dm9601_status" is the way to tell the kernel new link
state,
I can find it is bt 'usbnet_link_change( xx)' in ".status =
dm9601_status".
Information:
--------------------------------------------------------------------------------
--------
In my [PATCH 2/3],
+#define DM_EP3I_VAL 0x07
+ /* Render eeprom if need, WORD12 render, need 0x0007 */
+ dm_eeprom_render(dev, 12, DM_EP3I_VAL, 0xffff); }
It can determine the above time interval.
If user define
+#define DM_EP3I_VAL 0x0f
The time interval will be around 1 second.
Note: Must reset the device once to get effect.
--------------------------------------------------------------------------------
--------
Best Regards,
Joseph CHANG
System Application Engineering Division
Davicom Semiconductor, Inc.
No. 6 Li-Hsin 6th Rd., Science-Based Park,
Hsin-Chu, Taiwan.
Tel: 886-3-5798797 Ex 8534
Fax: 886-3-5646929
Web: http://www.davicom.com.tw
-----Original Message-----
From: Peter Korsgaard [mailto:jacmet@gmail.com] On Behalf Of Peter Korsgaard
Sent: Friday, March 11, 2016 5:55 AM
To: Joseph CHANG
Cc: Peter Korsgaard; netdev@vger.kernel.org; linux-usb@vger.kernel.org;
linux-kernel@vger.kernel.org; Joseph Chang
Subject: Re: [PATCH 1/3] dm9601: enable EP3 interrupt
>>>>> "Joseph" == Joseph CHANG <josright123@gmail.com> writes:
> Enable chip's EP3 interrupt to get the link-up notify soon
> immediately.
Sorry, what do you mean about 'soon immediately'?
> +
> + /* Always return 8-bytes data to host per interrupt-interval */
> + dm_write_reg(dev, DM_USB_CTRL, USB_CTRL_EP3ACK);
Why would we want to do that instead of the current setup that afaik
only returns data when the link status changes?
--
Bye, Peter Korsgaard
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-03-11 10:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-10 11:23 [PATCH 1/3] dm9601: enable EP3 interrupt Joseph CHANG
2016-03-10 21:55 ` Peter Korsgaard
2016-03-11 10:47 ` Joseph Chang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).