Comments (6)
Moving the call to dw_csi_host_write(dphy, RESETN, 0);
out of dphy_stop()
and into the start of of dphy_start()
[sic], and removing dw_csi_host_write(dphy, NLANES, 0);
altogether, seems to help.
But now we are never shutting down the CSI-2 receiver. There may be power consumption implications. Not clear if leaving it active unused might open the door to some other bad state?
Maybe it would be better to use a timer to delay the shutdown (assuming the camera will stop). Will have a think about it and might PR it.
from linux.
Perhaps we call dphy_stop()
when we close all the nodes, i.e. v4l2_file_operations.release
? We use the default handler for this right now, but could easily override that.
from linux.
It may depend on the camera and whether it has a "fast stop" setting (in which case it might stop after a scanline?) or not (in which case it might be an entire frame time?)
from linux.
It may depend on the camera and whether it has a "fast stop" setting (in which case it might stop after a scanline?) or not (in which case it might be an entire frame time?)
I was about to say that the power to the sensor is normally killed fairly soon after stop, however that can't now be guaranteed with the DT updates to make external trigger modes happy.
from linux.
Yikes, that opens up another dimension -- what will CSI-2 Host signal when the camera goes to LP00 (and stops the clock lane) in the middle of a data packet? Though I would hope it doesn't break the IDI bus in the way that resetting it does...
I suppose my point being that we don't just want the camera to stop; we may need to ensure that CSI2AXI knows that the camera has stopped and doesn't get stuck in some state that could cause it to miss the next FS.
from linux.
Ho hum. Strictly, resetting CSI-2 Host while the camera is still transmitting, can cause a timing violation on the IDI link (signals change out of sync with byteclock). I don't think that's the primary problem but is another reason to consider changing the driver.
from linux.
Related Issues (20)
- SO_TIMESTAMPNS Support is absent in the kernal? HOT 1
- Pi5 i2c troubles using MCP23017 HOT 20
- H.264 M2M codec generates garbage for 1920x1200 HOT 11
- i2c_designware 1f00074000.i2c: controller timed out with 2024-03-12 bookworm HOT 3
- X window not booting after recent upgrade HOT 6
- brcmfmac: brcmf_set_channel: set chanspec fail, reason -52 HOT 8
- CMA initialisation fails with 64k page-size HOT 3
- RPI5: usb x-x: cmd cmplt err -71 Error with different USB Disks HOT 3
- A pulse in ACK signal stops I2C communcation on Pi 5 with kernel 6.6.20 HOT 11
- i2c failing to initialize and detect devices HOT 10
- Undefined symbol failures if `CONFIG_USB=m`
- CM4S: Enabling xhci from an overlay makes the system hang HOT 11
- stable_* tags missing for 6.6.y kernels HOT 7
- Cannot disable EEE on Raspberry Pi 5 HOT 10
- ADS7846 Touch controller does not work correctly after upgrade to kernel 6.6.20 HOT 4
- TC358743 produces BGR instead of RGB HOT 3
- PCF2131 RTC support + low battery detection HOT 1
- Can't set CPU affinity on RP1 downstream interrupts HOT 3
- Bookworm lite with official 7" display display garbled with rotate 180deg
- USB Touchscreen kills xHCI Controller HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linux.