Page MenuHomeFreeBSD

pldrouin_gmail.com (Pierre-Luc Drouin)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 22 2024, 3:05 AM (41 w, 1 d)

Recent Activity

Mar 8 2024

pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

@bz Ok, so it turns out that the issue I had was not with the driver. So there was no issue with the reset function, and the current version of the Diff properly works for me with the ACPI version of the driver. Since the clk* functions are no longer called when sc->mutex is locked, I assume the issue regarding mutex ordering is also fixed for the FDT driver. So this means the driver should also be ready for you to test.

Mar 8 2024, 5:17 PM · arm64, ARM
pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

I will do additional tests. There have been quite a few moving parts this week on my end (with the I2C tool I have been working on in addition to the driver), so I could have rushed my tests a bit too much and have drawn the wrong conclusions. I will do systematic tests starting from working versions.

Mar 8 2024, 3:11 PM · arm64, ARM
pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Mar 8 2024, 1:14 PM · arm64, ARM
pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
In D44020#1009471, @bz wrote:
In D44020#1009469, @bz wrote:

This may not be based on your latest version but the general idea is: call i2c_update_div_val() before taking the lock, get the div_reg value back (maybe you can avoid passing it as pointer and checking for error by simply checking for sc->freq == UINT32_MAX in the caller (reset function) afterwards to see if you should change anything or not (just came to my mind, haven't checked all code paths). Then do the register writes all together under lock.

My assumption here is that it is the reset function is not called twice at the same time in parallel from the bus.

What you describe is what I do in the latest version, but it does not work, since without the lock, i2c_get_div_val gets executed before the attach function has the chance to set the variables that are used by i2c_get_div_val. So I need to delay the call to i2c_get_div_val until the attach function completes. Without that I end up with the wrong divider value. Note that this problem seems to only occur at boot time and not if I load the driver as a module after booting.

Do you enable interrupts before you need them? Do you need IBIC_BIIE for the initial READ?

Mar 8 2024, 3:27 AM · arm64, ARM

Mar 6 2024

pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
In D44020#1009469, @bz wrote:

This may not be based on your latest version but the general idea is: call i2c_update_div_val() before taking the lock, get the div_reg value back (maybe you can avoid passing it as pointer and checking for error by simply checking for sc->freq == UINT32_MAX in the caller (reset function) afterwards to see if you should change anything or not (just came to my mind, haven't checked all code paths). Then do the register writes all together under lock.

My assumption here is that it is the reset function is not called twice at the same time in parallel from the bus.

Mar 6 2024, 7:25 PM · arm64, ARM
pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Ok I think I know how this could be fixed. I should create a sc->initialized_freq flag which is set by the attach function once sc->freq has been set. The reset function should check the status of this flag after locking sc->mutex, and if it is not the case, it should cv_wait for a condition from attach. The attach function should cv_signal this condition after setting the flag. Does it look like the best strategy to you?

Mar 6 2024, 3:25 PM · arm64, ARM
pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Is there a way to prevent the reset function from being called before the driver is done attaching?

Mar 6 2024, 4:12 AM · arm64, ARM
pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

The driver seems to be misbehaving with the latest changes. I think it is due to interference between the attach and the reset functions (the attach and reset functions are called in parallel, and i2c_get_div_val gets called by the reset function before sc->freq is set to UINT32_MAX). This issue combined with the lock restrictions for the clk* functions makes it tricky to get the driver properly initialized at boot time. I will have to take a look at it another day...

Mar 6 2024, 4:08 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Merging changes from D44020

Mar 6 2024, 1:39 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Moving back sc->mutex initialization into vf_i2c_attach_common as before, but now locking the mutex whenever it is needed to communicate with the controller. No longer locking it before calling ofw* and clk* functions in vf_i2c_fdt_attach

Mar 6 2024, 1:36 AM · arm64, ARM
pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

I think I will have to make additional changes...

Mar 6 2024, 1:09 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Trying to fix the "lock order reversal: (sleepable after non-sleepable)" error in FDT by moving back to an i2g_get_div_val function that gets called outside the sc->mutex lock with a WRITE call of the divider register inside the lock, that gets only called when the divider register value has been set.

Mar 6 2024, 1:02 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Merging changes from D44020

Mar 6 2024, 1:00 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Please ignore this revision

Mar 6 2024, 12:57 AM · arm64, ARM

Mar 5 2024

pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Based on the last couple of tests, it looks like the clk functions should not be called when a mutex is locked with mtx_lock?

Mar 5 2024, 11:44 PM · arm64, ARM
pldrouin_gmail.com added a comment to D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Sorry the previous diff had been generated using an outdated version of the D44020 diff.

Mar 5 2024, 6:55 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

-The previous diff was not generated properly w.r.t. the last version of D44020

Mar 5 2024, 6:54 PM · arm64, ARM

Feb 28 2024

pldrouin_gmail.com updated the diff for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Merging changes from D44020

Feb 28 2024, 1:19 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Adding a couple of missing spaces

Feb 28 2024, 1:18 AM · arm64, ARM
pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

FYI: sys/dev/clk/clk.c reports:

/*
 * Locking - we use three levels of locking:
 * - First, topology lock is taken.  This one protect all lists.
 * - Second level is per clknode lock.  It protects clknode data.
 * - Third level is outside of this file, it protect clock device registers.
 * First two levels use sleepable locks; clock device can use mutex or sx lock.
 */

So clk_get_freq using a sleepable lock in its implementation is expected:

CLK_TOPO_SLOCK();
rv = clknode_get_freq(clknode, freq);
CLK_TOPO_UNLOCK();
Feb 28 2024, 1:10 AM · arm64, ARM
pldrouin_gmail.com added inline comments to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 28 2024, 1:09 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Merging changes from D44020

Feb 28 2024, 1:06 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Modifying vf_i2c.c, vf_i2c_fdt.c and vf_i2c_acpi.c so sc->mutex is used for the attach and detach functions as well, in order to prevent race conditions, in particular with the reset function that is called in parallel with the attach function at boot time.

Feb 28 2024, 1:03 AM · arm64, ARM

Feb 27 2024

pldrouin_gmail.com added inline comments to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 27 2024, 9:02 PM · arm64, ARM

Feb 26 2024

pldrouin_gmail.com added a reviewer for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller: bz.
Feb 26 2024, 1:50 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Merging updates from D44020

Feb 26 2024, 1:44 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
  • Renaming driver's data structure
Feb 26 2024, 1:33 PM · arm64, ARM

Feb 24 2024

pldrouin_gmail.com updated the diff for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
  • Merging readability change from D44020.
  • Fixing a bug that was introduced in Diff 134928 (a pointer was not properly declared).
Feb 24 2024, 7:05 PM · arm64, ARM
pldrouin_gmail.com added a comment to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Yes it is equivalent. I updated the code.

Feb 24 2024, 6:53 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Modifying the code to make it more readable

Feb 24 2024, 6:52 PM · arm64, ARM
pldrouin_gmail.com added a comment to D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
In D44021#1005017, @bz wrote:

WOW. Having looked at that logic probably a year ago this is good work; also good catches on the missing unlock and NOACK for the 1 byte!

Feb 24 2024, 3:52 PM · arm64, ARM
pldrouin_gmail.com added a comment to D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Also changing the references for the driver updates, based on recommendations in D44020.

Feb 24 2024, 3:48 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
  • Merge changes that were done to D44020 into here
  • Implementing all bz's recommendations
Feb 24 2024, 3:46 PM · arm64, ARM
pldrouin_gmail.com added inline comments to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 24 2024, 3:23 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.

Implementing all but one of bz's recommendations, pending feedback from comment.

Feb 24 2024, 3:22 PM · arm64, ARM

Feb 22 2024

pldrouin_gmail.com added projects to D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller: ARM, arm64.
Feb 22 2024, 11:46 AM · arm64, ARM
pldrouin_gmail.com added projects to D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support: ARM, arm64.
Feb 22 2024, 11:45 AM · arm64, ARM
pldrouin_gmail.com updated the summary of D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 22 2024, 2:48 AM · arm64, ARM
pldrouin_gmail.com updated the summary of D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
Feb 22 2024, 2:47 AM · arm64, ARM
pldrouin_gmail.com updated the summary of D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 22 2024, 2:47 AM · arm64, ARM
pldrouin_gmail.com updated the summary of D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 22 2024, 2:46 AM · arm64, ARM
pldrouin_gmail.com updated the summary of D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
Feb 22 2024, 2:46 AM · arm64, ARM
pldrouin_gmail.com abandoned D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
In D43811#1004020, @bz wrote:

One comment: I tested this on a LS1088 in FDT mode and it makes me super happy as I can scan bits (and flawlessly read) now I had problems with on another board (which I should test as well once I can again).

And that brings me to a request -- and please say "no" if you feel like it's too much hassle. Can we split this into two parts as it is essentially two things: (i) the move of the code and split for the various bus attachments, and (ii) the fixing/improving of the actual I2C bits/logic. It would certainly help commit messages and explanations of the why these changes are done and working so well.

There's a few style bits and some hard coded values we should probably #define in there still but nothing major. I'll wait on commenting on whether we'll split it or not.

At this point in order to split it into two diffs like that I think the easiest would be to reintroduce the old code into the split files. Maybe I can do it manually if you think it is worth it.

Feb 22 2024, 2:32 AM · arm64, ARM
pldrouin_gmail.com updated the summary of D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 22 2024, 2:29 AM · arm64, ARM
pldrouin_gmail.com updated subscribers of D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 22 2024, 2:27 AM · arm64, ARM
pldrouin_gmail.com added reviewers for D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller: andrew, manu.
Feb 22 2024, 2:26 AM · arm64, ARM
pldrouin_gmail.com requested review of D44021: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
Feb 22 2024, 2:23 AM · arm64, ARM
pldrouin_gmail.com added a reviewer for D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support: manu.
Feb 22 2024, 2:15 AM · arm64, ARM
pldrouin_gmail.com retitled D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support from Summary:The diff D43811 has been split into two parts. This part consists in the splitting of the original vf_i2c driver between the FDT-specific code and the I2C controller code, as well as the introduction of ACPI-specific code. The original... to Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 22 2024, 2:14 AM · arm64, ARM
pldrouin_gmail.com retitled D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support from Summary: The diff D43811 has been split into two parts. This part consists in the splitting of the original vf_i2c driver between the FDT-specific code and the I2C controller code, as well as the introduction of ACPI-specific code. The original... to Summary:The diff D43811 has been split into two parts. This part consists in the splitting of the original vf_i2c driver between the FDT-specific code and the I2C controller code, as well as the introduction of ACPI-specific code. The original....
Feb 22 2024, 2:13 AM · arm64, ARM
pldrouin_gmail.com requested review of D44020: Splitting the existing Vybrid I2C Controller Driver to Add ACPI Support.
Feb 22 2024, 2:11 AM · arm64, ARM

Feb 21 2024

pldrouin_gmail.com added a comment to D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
In D43811#1004020, @bz wrote:

One comment: I tested this on a LS1088 in FDT mode and it makes me super happy as I can scan bits (and flawlessly read) now I had problems with on another board (which I should test as well once I can again).

And that brings me to a request -- and please say "no" if you feel like it's too much hassle. Can we split this into two parts as it is essentially two things: (i) the move of the code and split for the various bus attachments, and (ii) the fixing/improving of the actual I2C bits/logic. It would certainly help commit messages and explanations of the why these changes are done and working so well.

There's a few style bits and some hard coded values we should probably #define in there still but nothing major. I'll wait on commenting on whether we'll split it or not.

Feb 21 2024, 7:02 PM · arm64, ARM

Feb 20 2024

pldrouin_gmail.com added inline comments to D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
Feb 20 2024, 11:36 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Updating copyright notice to state copyright for each author and also removing the original vf_i2c author for vf_i2c_acpi

Feb 20 2024, 11:33 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43746: Adding Support for QorIQ LX2160A I2C Controller.
In D43746#1003688, @bz wrote:

Merging the code with the existing driver in D43811. This differential is now obsolete.

Can you "abandon" this one so it's no longer open?

Where can I do that? I fail to find such an option...

In the bottom Submit area there is an "Add Action..." button in the top of the subarea. For the author, it should show an option for abandonment that you could select.

Feb 20 2024, 10:45 PM · arm64, ARM
pldrouin_gmail.com abandoned D43746: Adding Support for QorIQ LX2160A I2C Controller.
Feb 20 2024, 10:38 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

I looked through src and it looks like either form of quoting are used for the copyright notice...

Feb 20 2024, 10:15 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43746: Adding Support for QorIQ LX2160A I2C Controller.
In D43746#1003688, @bz wrote:

Merging the code with the existing driver in D43811. This differential is now obsolete.

Can you "abandon" this one so it's no longer open?

Feb 20 2024, 10:00 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

I got it from https://www.freebsd.org/internal/software-license/

Feb 20 2024, 9:54 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
In D43811#1003573, @bz wrote:

Really looking forward to this. Also a step towards getting SFP+ support going..

Feb 20 2024, 7:34 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
Feb 20 2024, 7:32 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

sys/modules/vf_i2c/Makefile: Removing header files that are not required

Feb 20 2024, 7:30 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

As far as I know, all requests have been addressed. Please let me know if I have missed anything. Thanks!

Feb 20 2024, 3:55 PM · arm64, ARM

Feb 14 2024

pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

sys/arm/freescale/vybrid/files.vybrid: Removing ACPI support for vf_i2c

Feb 14 2024, 12:00 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

I think the latest diff addresses everything that has been mentioned so far.

Feb 14 2024, 2:53 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Merging vf_i2c_acpi and vf_i2c_fdt devices and modules

Feb 14 2024, 2:48 AM · arm64, ARM

Feb 13 2024

pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Fixing last diff...

Feb 13 2024, 5:11 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Adding more context as requested.

Feb 13 2024, 4:58 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Implementing most of the recommended changes, pending clarification for the remaining requests.

Feb 13 2024, 3:44 PM · arm64, ARM

Feb 12 2024

pldrouin_gmail.com updated the test plan for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
Feb 12 2024, 12:53 PM · arm64, ARM

Feb 10 2024

pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Adjusting copyright

Feb 10 2024, 12:01 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Updating copyright notice and credits.

Feb 10 2024, 1:53 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.
Feb 10 2024, 1:52 AM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.
Feb 10 2024, 1:51 AM · arm64, ARM

Feb 9 2024

pldrouin_gmail.com added a comment to D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

If I understand right, the usual Copyright procedure for changes to a file that still has substantial original material but also substantial new material is to add copyright lines (for the new author's material, with years if in dated form), leaving the original Copyright line in place as well.

If new files (nearly just renaming would be: "not new") are created that are not substantially copies of older files, just the new author's Copyright would go in those. Similarly for the file naming not being changed but not much of the original material being left.

(The wording above may only provide a indication of the general direction and not much detail relative to various legal concepts involved.)

[A hint about "substantial changes": if omitting a Copyright means not finding the name of who to ask questions about notable parts of the resulting material, some Copyright notice(s) are likely missing.]

Feb 9 2024, 11:56 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.

Renaming the directory for the driver's source files from qoriq to vybrid

Feb 9 2024, 10:26 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43746: Adding Support for QorIQ LX2160A I2C Controller.

Merging the code with the existing driver in D43811. This differential is now obsolete.

Feb 9 2024, 10:11 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
Feb 9 2024, 10:09 PM · arm64, ARM
pldrouin_gmail.com requested review of D43811: Revamping the existing Vybrid I2C Controller Driver to Include Support for the QorIQ LX2160A Controller.
Feb 9 2024, 10:08 PM · arm64, ARM

Feb 7 2024

pldrouin_gmail.com added a comment to D43746: Adding Support for QorIQ LX2160A I2C Controller.

Note: lx2160a_i2c_fdt should not be loaded along with vf_i2c, as they share the same FDT ID. What is the best way to handle this?

Can you merge the two drivers?

Feb 7 2024, 1:47 PM · arm64, ARM
pldrouin_gmail.com updated subscribers of D43746: Adding Support for QorIQ LX2160A I2C Controller.
Feb 7 2024, 1:51 AM · arm64, ARM
pldrouin_gmail.com added a comment to D43746: Adding Support for QorIQ LX2160A I2C Controller.

The main issue I have for the FDT driver, is the following couple of lines in vf_i2c.c:

Feb 7 2024, 1:46 AM · arm64, ARM
pldrouin_gmail.com added a comment to D43746: Adding Support for QorIQ LX2160A I2C Controller.

So I looked at the VFXXX controller reference manual (https://www.nxp.com/docs/en/reference-manual/VFXXXRM.pdf), and the specs for the I2C controller look almost identical to the ones for the LX2160A I2C controller, except mostly for the clock divider table. Based on this information, I do not see why the new implementation could not work for the VFXXX controller. I would have to reintroduce the code by @dgr_semihalf.com to do the clock divider calculations for the devices that differ from the LX2160A though.

Feb 7 2024, 1:25 AM · arm64, ARM

Feb 6 2024

pldrouin_gmail.com added a comment to D43746: Adding Support for QorIQ LX2160A I2C Controller.

Note: lx2160a_i2c_fdt should not be loaded along with vf_i2c, as they share the same FDT ID. What is the best way to handle this?

Can you merge the two drivers?

Feb 6 2024, 9:38 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

Fixing /sys/arm64/conf/std.nxp and sys/conf/files.arm64

Feb 6 2024, 9:10 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43746: Adding Support for QorIQ LX2160A I2C Controller.

Last diff is broken. Will investigate...

Feb 6 2024, 8:53 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

Adding devices to sys/arm64/conf/std.nxp . The driver should work for LX2160A, LX2120A, LX2080A, LS1046A and LS1026A based on their respective reference manuals. The ACPI driver could be included in GENERIC. However as previously mentioned, I think including the FDT version along with vf_i2c could be problematic due to them sharing the same ID, so I commented out the lx2160a_i2c_fdt device.

Feb 6 2024, 8:51 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

Fixing a few typos in debug print statements. Adding also one debug print statement.

Feb 6 2024, 7:06 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

Revised version with all requested changes

Feb 6 2024, 5:06 PM · arm64, ARM
pldrouin_gmail.com added a comment to D43746: Adding Support for QorIQ LX2160A I2C Controller.

I think this is now ready for review.

Feb 6 2024, 12:40 PM · arm64, ARM

Feb 5 2024

pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

modules/Makefile: Moving _lx2160a_i2c_fdt inside the nested condition on OPT_FDT

Feb 5 2024, 9:33 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

modules/Makefile: The modules are now only enabled for arm64/aarch64

Feb 5 2024, 9:07 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

Removing the verification of IBSR_IBB in i2c_stop. It was most likely potentially problematic and should have not been used.

Feb 5 2024, 5:23 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

Adding blank line to copyright notice

Feb 5 2024, 5:05 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

Updating the copyright notice as recommended.

Feb 5 2024, 4:44 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

-The logic in wait_for_icf was not quite right. It is now fixed.

Feb 5 2024, 4:00 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

Removing unnecessary small delay in i2c_stop. It had been introduced earlier as an attempt to fix the issue which was resolved by using wait_for_nibb in i2c_start.

Feb 5 2024, 3:46 PM · arm64, ARM
pldrouin_gmail.com updated the diff for D43746: Adding Support for QorIQ LX2160A I2C Controller.

Removing an unused define in lx2160a_i2c.h

Feb 5 2024, 3:33 PM · arm64, ARM
pldrouin_gmail.com updated the test plan for D43746: Adding Support for QorIQ LX2160A I2C Controller.
Feb 5 2024, 3:28 PM · arm64, ARM
pldrouin_gmail.com updated the test plan for D43746: Adding Support for QorIQ LX2160A I2C Controller.
Feb 5 2024, 2:36 PM · arm64, ARM