Hello, I have applied your slope table patch in the experimental/genesys. I tested it wtih my MD6571 and everything I tried worked fine. The 'stagger' pattern is indeed : ...0...0 ..0...0. .0...0.. 0...0...
I've reread the 'genesys_read_ordered_data'. It has 2 phases. First it fills buffer with enough raw data for the second stage, which then copies data to the backend. The complexity comes from all the possible cases when copying raw data in the form required by the backend and frontend combination. One thing that come to my mind is that splitting that copy in a dozen of simple functions (one for each case) would be enough. But, since you're going after something better, I'll wait for it. I think it is high time you get CVS access to SANE. The one thing we will have to mind is to discuss or warn for changes in the common code. Simple fixes and chipset specific changes should be OK. I am going to tune the gl646 part for the HP2400. I believe that the changes I have in mind (mostly constants tweaking) shouldn't disturb your current work. Regards, Stef