-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow refresh serdes configs during runtime #105
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's great! Thank you!
isn't it better to have max9295/6 as modules and not compile it to kernel? |
- Add 2 attrs to refresh max9295/max9296 configs anytime by user. - When switching formats of IR stream, do not refresh all the serdes settings, so other streaming streams won't be interrupted. Only the necessary addresses are set now. Signed-off-by: Xin Zhang <xin.x.zhang@intel.com>
We didn't modify the default kernel config of Jetson, so it's just the original setting. |
This PR is ready to review/merge. Besides the refresh attributes, another fix and cleanup is added. Please see the updated first comment for details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
- {0x0331, 0x11}, // Write 0x33 for 4 lanes | ||
- {0x0308, 0x6F}, // All pipes pull clock from port B | ||
- {0x0311, 0xF0}, // All pipes pull data from port B | ||
{0x0312, 0x0B}, // Double 8-bit data on pipe X, Y & U |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this part looks complicated, can you elaborate why we discard 4 registers?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can see originally we only have map_pipe_y8_opt
and map_pipe_y12i_opt
, they are used for y8_y8i and y12i separately, the first 4 addr/val pairs are same, only the last one is different.
Now it's split to a common map_pipe_opt
with the 4 common addr/val, and map_pipe_y8_opt
and map_pipe_y12i_opt
for the last different pair. When switching only the last pair is refreshed. The patch file instead of the diff in code makes it less obvious :)
settings, so other streaming streams won't be interrupted. Only the
necessary addresses are set now.
Test steps for using the new attributes:
And when switching formats of IR stream, the serdes settings being changed are reduced to only the necessary ones. So now if another stream is streaming, it won't be interrupted (on current master, the streaming could be seen stopped for 1 or 2 seconds then go on again), with the new changes the other stream won't be affected.