To wrap this up (as there has been some confusion):
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Jun 27 2015
Jun 26 2015
@eadler no need to apologize, thanks for your effort.
Updated to versions a of 20150626, therefore this review is obsolete now => Abandon Revision.
@koobs thanks, I'm building new versions of those packages right now, I'll test them and commit shortly.
I'm more than happy to pass those ports on to you @mat or phabric-admin, please make sure you update and test devel/phabrictor though (as phabric-admin@ runs a heavily customized version of phabricator).
@mat this won't build as long as devel/libphutil/distinfo is broken (see my comment above). Accept Revision shouldn't have an "if it works" comment in it, but mean that some actual review happened (well, AFAIK).
Jun 25 2015
After fixing libphutil/distinfo this installed fine. I rolled it out at work yesterday and so far it seems to work ok.
Add extra newline to comply to style(9), change PZERO to 0 in mtx_sleep
Jun 24 2015
Please fix distinfo of arcanist and test building all three ports.
(I'll install and test those versions @work to see if they are ok otherwise)
Jun 22 2015
Add extra newline to comply to style(9), change PZERO to 0 in
mtx_sleep as suggestedi. Tested the change it works fine.
Next iteration.
Jun 21 2015
Same as before, but this time with the actual change: Add comment
to clarify locking semantics.
Add comment that aims to clarify locking semantics.
Jun 15 2015
Feedback I received from @wblock by email:
Jun 14 2015
In D2744#53895, @grembo wrote:In D2744#53837, @kib wrote:In D2744#53712, @grembo wrote:I think that clarification of the mutex/io_lock semantic is required as the first step.
call_lock protects a series of calls to the controller (set_controller/slave/wait_status) that form an ioctl so they won't interleave, while io_lock is used to coordinate the interrupt handler with other I/O to the controller, especially wait_status.
That far I can understand myself from reading the code. What I cannot get from the code alone, without using some kind of mind-reading low-tech solution, is what is the intent for the bounds of transactions manipulating the hardware state. E.g., why is it fine to allow the interrupt handler to intervene while waiting for i/o completion:
Why do you think this wouldn't be the case?
what hw state should be re-acquired after the sleep ? Does the interrupt handler need exclusion with the top half of the driver, if needed, why ? ... etc
Which sleep are you referring to (mtx_sleep in wait_status maybe)? Why would a hardware state need to be reacquired? And where does the "top half of the driver" end?
In D2744#53837, @kib wrote:In D2744#53712, @grembo wrote:I think that clarification of the mutex/io_lock semantic is required as the first step.
call_lock protects a series of calls to the controller (set_controller/slave/wait_status) that form an ioctl so they won't interleave, while io_lock is used to coordinate the interrupt handler with other I/O to the controller, especially wait_status.
That far I can understand myself from reading the code. What I cannot get from the code alone, without using some kind of mind-reading low-tech solution, is what is the intent for the bounds of transactions manipulating the hardware state. E.g., why is it fine to allow the interrupt handler to intervene while waiting for i/o completion:
Jun 13 2015
I think that clarification of the mutex/io_lock semantic is required as the first step.
call_lock protects a series of calls to the controller (set_controller/slave/wait_status) that form an ioctl so they won't interleave, while io_lock is used to coordinate the interrupt handler with other I/O to the controller, especially wait_status.
Remove locks in callback and simplify unsupported smb_quick call.
Jun 6 2015
Jun 5 2015
Are there any specific features or is this "only" about staying current/compatibility like you stated in the summary section?
May 30 2015
May 14 2015
May 6 2015
Make calling bus_generic_detach dependent on device_is_attached(dev)
May 3 2015
Next iteration based on code review.
Next iteration follows soon.
May 1 2015
Apr 29 2015
Apr 27 2015
Further man page improvements as suggested by @wblock
@jhb This shouldn't interfere with I2C in KMS.
@jhb In terms of licensing, are there any best practices? Like if you port one feature from another BSD to FreeBSD (like a patch to the keyboard driver, maybe a few lines of code), will this affect the the license of the original file? When porting something completely new (like in this case), at which point should the porter be mentioned in the header - you clearly don't want to blame the original author for porting and/or system specific bugs. Something like:
Man page changes as suggested by @wblock.
Will send a new revision with man page changes shortly (is there a better workflow? It always seems odd to comment on changes here and then create another arc revision).
Apr 26 2015
Apr 25 2015
These data is -> This data is
Set all ending man page changes to closed for new review request.
Apr 23 2015
Changes to man page like discussed with @wblock, for the remaining changes
to the man page I'll open a new code review request once this one has been
committed.
Apr 13 2015
@wblock Added you as a reviewer for man page changes. The code should be good enough at this point.
Put output of successful probes under bootverbose (nomatch isn't
not worth the effort and could be added at a later point in time).
Apr 4 2015
Same as before, but pass all changed files to arcanist.
Use bus_generic_probe instead of device_add_child like suggested
by @jhb, works, thank you.
Mar 28 2015
Mar 27 2015
Improvements as suggested by @jhb. This works now, thanks a lot for the
insight.
Mar 23 2015
Mar 21 2015
Changes as suggested by @imp
@imp Did a couple of more changes, please check the next iteration that I'll submit shortly.
Changes like discussed:
- Remove enum smbus_child_ivars, turn SMBUS_IVAR_ADDR into enum
- Add __BUS_ACCESSOR to address which returns int (can return -1)
- Change code structure of smbus_read_ivar and make it set set response to -1 in case no addr is set
I sent an email to arch, let's see if there is any additional feedback. I'll submit a new version with the changes from the inline comments soon.
Mar 7 2015
Changes like discussed inline (various style fixes and optimization,
new man page, new calls like print_child, location_str etc.).
@jhb Thanks for your detailed review, please see replies for details.
Mar 1 2015
Replace magic numbers with #defined values as requested.
Feb 23 2015
Feb 22 2015
Is there anything else I could do to move this forward?
Feb 15 2015
Removed 32MiB check from code like suggested (reverted comment changes).
Feb 14 2015
Feb 11 2015
Changes like requested, I will add a few more inline comments.
Added symlink from dom.cpp to dom.c for symmetry reasons
Feb 10 2015
@adrian acknowledged this revision (thanks), but he also pointed out, that he thinks this needs more testing before committing. I tried to get some attention on freebsd-current, but this isn't a very interesting topic for people to test, so even though it's been only a few days, I don't think this will result in sufficient testing.
I like the idea of structuring quirks in a more uniform way, but since we have those in many different places (drm2, USB, CAM, ACPI) I think this should be approached in a separate effort.
Add newline to match style
Feb 9 2015
New approach, reverted to the original version and added changes based
on quirks.