Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1355044 > unrolled thread
| Started by | Joseph CHANG <josright123@gmail.com> |
|---|---|
| First post | 2016-03-10 12:30 +0100 |
| Last post | 2016-03-11 12:00 +0100 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 1/3] dm9601: enable EP3 interrupt Joseph CHANG <josright123@gmail.com> - 2016-03-10 12:30 +0100
Re: [PATCH 1/3] dm9601: enable EP3 interrupt Peter Korsgaard <peter@korsgaard.com> - 2016-03-10 23:00 +0100
RE: [PATCH 1/3] dm9601: enable EP3 interrupt "Joseph Chang" <joseph_chang@davicom.com.tw> - 2016-03-11 12:00 +0100
| From | Joseph CHANG <josright123@gmail.com> |
|---|---|
| Date | 2016-03-10 12:30 +0100 |
| Subject | [PATCH 1/3] dm9601: enable EP3 interrupt |
| Message-ID | <rb6X0-6lf-19@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | Peter Korsgaard <peter@korsgaard.com> |
|---|---|
| Date | 2016-03-10 23:00 +0100 |
| Message-ID | <rbgMG-4AF-5@gated-at.bofh.it> |
| In reply to | #1355044 |
>>>>> "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
[toc] | [prev] | [next] | [standalone]
| From | "Joseph Chang" <joseph_chang@davicom.com.tw> |
|---|---|
| Date | 2016-03-11 12:00 +0100 |
| Message-ID | <rbsXw-4QJ-21@gated-at.bofh.it> |
| In reply to | #1355422 |
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.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web